trying to make a switch case for the dropdown with options: sine,cosine,square, triangular, to plot the right wave whenever chosen, this only plots sine wave, what's wrong?

2 views (last 30 days)
Rana Fawzy
Rana Fawzy on 22 Nov 2021
Edited: Srijith Kasaragod on 25 Nov 2021
value = app.SignalGeneratorDropDown.Value;
app.t=0:0.01:1
app.A= app.AmplitudeEditField.Value;
app.f= app.FrequencyEditField.Value;
app.y=app.A*sin(2*pi*app.f*app.t);
switch value
case "Sine"
app.y=app.A*sin(2*pi*app.f*app.t);
case "Square"
app.y=app.A*Square(2*pi*app.f*app.t);
case "Cosine"
app.y=app.A*cos(2*pi*app.f*app.t);
case "Triangular"
app.y=app.A*sawtooth(2*pi*app.f*app.t);
end
plot(app.UIAxes,app.t,app.y);
xlabel(app.UIAxes,"Time")
ylabel(app.UIAxes,"Amplitude")
title(app.UIAxes,"waveform")

Answers (1)

Srijith Kasaragod
Srijith Kasaragod on 25 Nov 2021
Edited: Srijith Kasaragod on 25 Nov 2021
Hi Rana,
I have tried to recreate the issue at my end and the code seems to run correctly, with sin, cos, square and sawtooth waveforms getting plotted onto UIAxes according to dropdown input. Please ensure you have the above code inside DropDown 'ValueChangedFcn' function callback. If the issue still persists, upload your file and we shall have a look at it.
Regards.

Community Treasure Hunt

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

Start Hunting!