Info

# Why aren't my cases working correctly

1 view (last 30 days)
Caprice Corlew on 3 Oct 2014
Closed: MATLAB Answer Bot on 20 Aug 2021
I made an if esleif else statement and a switch menu to plot the graphs but I cannot get the graphs to plot correctly. could someon hep me fix it? Its alot, sorry
switch answer case 1
period=1/frequency;
t=0:period*cycles:100;
y=amplitude*square(2*pi*frequency*t);
plot(t,y);
xlabel('Amplitude(v)')
ylabel('Time (s)')
title('Square wave')
case 2
period=1/frequency;
t=0:period*cycles:100;
y=amplitude*sin(2*pi*frequency*t);
plot(t,y);
xlabel('Time(s)');
ylabel('Amplitude');
title('Sine wave');
case 3
period=1/frequency;
t=0:period*cycles:100;
y=amplitude*cos(2*pi*frequency*t);
plot(t,y);
xlabel('Amplitude');
ylabel('Time (s)');
title('Cosine wave');
case 4
period=1/frequency;
t=0:period*cycles:100;
y=tan(pi*frequency*t);
ylim([-1.5*amplitude,1.5*amplitude]);
xlabel('Amplitude');
ylabel('Time (s)');
title('Tangent Curve');
case 5
t=0:.0001:5*tau;
dec= exp(-t/tau);
plot(t,tau);
xlabel('Amplitude (v)');
ylabel('Time (s)');
title ('Exponential Decay');
end
##### 2 CommentsShowHide 1 older comment
Caprice Corlew on 3 Oct 2014
I am not getting any error messages, but my graphs do not look how they should. For example, my exponential decay graph looks like a straight line, and my tangent graph just looks like a big block.

I would put period and t calculation outside of the switch and I think you want
t = linspace(0,period*cycles,100);
##### 2 CommentsShowHide 1 older comment
Edited: Matz Johansson Bergström on 3 Oct 2014
Ok, I only tried the sine wave and cosine wave. If you changed them you will get a correct answer for all cases but case 5 in which you use another mapping.
As for case 5 I have to assume that tau is a constant. In that case you want to have 'dec' as the amplitude. So case 5 becomes:
t = 0:.0001:5*tau;
dec = exp(t*tau);
plot(-t, dec);

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!