Matlab Appdesigner for interactive plots
7 views (last 30 days)
Show older comments
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
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.
Accepted Answer
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;
0 Comments
More Answers (0)
See Also
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!