Matlab Appdesigner for interactive plots

8 views (last 30 days)
Hello,
I am trying to create an interactive plot GUI through AppDesigner.
I need to base the plot a given function:
I then need to generate a plot based off of the equation and what the user inputs.
I am currently struggling to code the callback for the plot button. Could somebody please tell me how (and it would greatly appreciated if you could show me complete code). This is what I have so far within a callback code for the plot button:
N=app.SinusoidsnEditField.Value;
A=app.app.AmplitudeAEditField.Value;
F=app.FundamentFreqHzDropDown.Value;
time=0:0.2:2;
syms n N
y=4*A/pi*1/(2*3-1)*sin(2*3-1)*2*pi*F*time;
plot(app.UIAxes,time,y);
  3 Comments
Rik
Rik on 8 Oct 2022
Why did you edit your question again? Does the answer somehow not work? Then you should post a comment explaining why it doesn't solve the problem.
If you don't respond, I will revert your edit again and mark the answer as accepted.
Bozza
Bozza on 10 Oct 2022
The information is fine, the picture however is copyrighted, so please stop editing it back in...

Sign in to comment.

Accepted Answer

chrisw23
chrisw23 on 6 Sep 2022
I suggest to call the plot function just once (initially with default parameters at startup()). The returned object is a line.
app.sinusoidLine = plot(app.UIAxes,time,y);
Store the object as property (i.e. app.sinusoidLine).
Then change the XData and YData properties of the line in your callback function.
app.sinusoidLine.XData = time;
app.sinusoidLine.YData = y;

More Answers (0)

Categories

Find more on Function Creation in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!