The program runs then stops and gives an error of double


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

Solution Preview :

Prepared by a verified Expert
MATLAB Programming: The program runs then stops and gives an error of double
Reference No:- TGS01236062

Now Priced at $30 (50% Discount)

Recommended (90%)

Rated (4.3/5)