Trusted by Students Everywhere
Why Choose Us?
0% AI Guarantee

Human-written only.

24/7 Support

Anytime, anywhere.

Plagiarism Free

100% Original.

Expert Tutors

Masters & PhDs.

100% Confidential

Your privacy matters.

On-Time Delivery

Never miss a deadline.

find the errors in the MATLAB codes The program runs, then stops and gives an error of double going into the switch

Computer Science Aug 22, 2020

find the errors in the MATLAB codes

The program runs, then stops and gives an error of double going into the switch. I changed the code to make it output the sounds, but my whole reasoning was to make this version work with the row vectors.

%taking input phone numbers

Horvector=[1209 1336 1477];
Vervector=[697, 770, 852, 941];

x=input('Enter Phone Number: ','s');

a=0.5;
t=0:1/8192:0.5;
for i=1:length(x)
y=z(i);
switch y

case '1'
z(i)=a*sin(2*pi*Horvector(1)*t) + a*sin(2*pi*Vervector(1)*t);
case '2'
z(i)=a*sin(2*pi*Horvector(2)*t) + a*sin(2*pi*Vervector(1)*t);
case '3'
z(i)=a*sin(2*pi*Horvector(3)*t) + a*sin(2*pi*Vervector(1)*t);
case '4'
z(i)=a*sin(2*pi*Horvector(1)*t) + a*sin(2*pi*Vervector(4)*t);
case '5'
z(i)=a*sin(2*pi*Horvector(2)*t) + a*sin(2*pi*Vervector(2)*t);
case '6'
z(i)=a*sin(2*pi*Horvector(1)*t) + a*sin(2*pi*Vervector(2)*t);
case '7'
z(i)=a*sin(2*pi*Horvector(1)*t) + a*sin(2*pi*Vervector(3)*t);
case '8'
z(i)=a*sin(2*pi*Horvector(2)*t) + a*sin(2*pi*Vervector(3)*t);
case '9'
z(i)=a*sin(2*pi*Horvector(3)*t) + a*sin(2*pi*Vervector(3)*t);
case '*'
z(i)=a*sin(2*pi*Horvector(1)*t) + a*sin(2*pi*Vervector(4)*t);
case '0'
z(i)=a*sin(2*pi*Horvector(2)*t) + a*sin(2*pi*Vervector(4)*t);
case '#'
z(i)=a*sin(2*pi*Horvector(3)*t) + a*sin(2*pi*Vervector(4)*t);

otherwise

disp('Enter a valid number or * or #')

end
end

%to listen to the tones with a 0.25 sec pause between each tone

for i=1:length(x)
sound(z(i));
pause(0.25);
end

Expert Solution

Horvector=[1209 1336 1477]; 
Vervector=[697, 770, 852, 941]; 

x=input('Enter Phone Number: ','s'); 

a=0.5; 
t=0:1/8192:0.5; 
%initialize z as a matrix
z=zeros(length(x),length(t));
for i=1:length(x) 
    y=x(i); 
    switch y 

    case '1' 
        %the ith row of z is equal to the right side
        z(i,:)=a*sin(2*pi*Horvector(1)*t) + a*sin(2*pi*Vervector(1)*t); 
    case '2' 
        z(i,:)=a*sin(2*pi*Horvector(2)*t) + a*sin(2*pi*Vervector(1)*t); 
    case '3' 
        z(i,:)=a*sin(2*pi*Horvector(3)*t) + a*sin(2*pi*Vervector(1)*t); 
    case '4' 
        z(i,:)=a*sin(2*pi*Horvector(1)*t) + a*sin(2*pi*Vervector(4)*t); 
    case '5' 
        z(i,:)=a*sin(2*pi*Horvector(2)*t) + a*sin(2*pi*Vervector(2)*t); 
    case '6' 
        z(i,:)=a*sin(2*pi*Horvector(1)*t) + a*sin(2*pi*Vervector(2)*t); 
    case '7' 
        z(i,:)=a*sin(2*pi*Horvector(1)*t) + a*sin(2*pi*Vervector(3)*t); 
    case '8' 
        z(i,:)=a*sin(2*pi*Horvector(2)*t) + a*sin(2*pi*Vervector(3)*t); 
    case '9' 
        z(i,:)=a*sin(2*pi*Horvector(3)*t) + a*sin(2*pi*Vervector(3)*t); 
    case '*' 
        z(i,:)=a*sin(2*pi*Horvector(1)*t) + a*sin(2*pi*Vervector(4)*t); 
    case '0' 
        z(i,:)=a*sin(2*pi*Horvector(2)*t) + a*sin(2*pi*Vervector(4)*t); 
    case '#' 
        z(i,:)=a*sin(2*pi*Horvector(3)*t) + a*sin(2*pi*Vervector(4)*t); 
    otherwise 
        disp('Enter a valid number or * or #') 
    end 
end 


%to listen to the tones with a 0.25 sec pause between each tone 

for i=1:length(x) 
    %play the ith row
    sound(z(i,:)); 
    pause(0.25); 
end 
Archived Solution
Unlocked Solution

You have full access to this solution. To save a copy with all formatting and attachments, use the button below.

Already a member? Sign In
Important Note: This solution is from our archive and has been purchased by others. Submitting it as-is may trigger plagiarism detection. Use it for reference only.

For ready-to-submit work, please order a fresh solution below.

Or get 100% fresh solution
Get Custom Quote
Secure Payment