Fill This Form To Receive Instant Help
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. 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
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