Fill This Form To Receive Instant Help

Help in Homework
trustpilot ratings
google ratings


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

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

Computer Science

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

pur-new-sol

Purchase A New Answer

Custom new solution created by our subject matter experts

GET A QUOTE

Answer Preview

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