MATLAB Answers

App Designer Plot Multiple Graph

4 views (last 30 days)
I am new in App Designer, I want to plot multiple graph continue the time, like first time I push the button I get a graph from 0 to t1, then I push the button agian, the graph continue plot from t1 to t2.
The system does not regonize the undeclare t1 as 0, but if I declare t1 = 0, every time I push the button, the graph is overlapping.
function AddButtonPushed(app, event)
if(app.Button_2.Value)
f = 10;
elseif(app.Button2.Value)
f = 15;
elseif(app.Button3.Value)
f = 20;
end
if(app.Button_3.Value)
t = 1;
elseif(app.Button_4.Value)
t = 1/2;
elseif(app.Button_5.Value)
t = 1/4;
end
x = t1:0.0001:t1+t;
y = sin(2*pi*f*x);
t1 = t1+t;
hold(app.UIAxes);
plot(app.UIAxes,y);
hold(app.UIAxes);
end

Accepted Answer

Subhadeep Koley
Subhadeep Koley on 28 Apr 2021
The attached minimum working example App might help you! Have a look.
  2 Comments
Subhadeep Koley
Subhadeep Koley on 28 Apr 2021
@Lee Xing Wei This is called Public Property. See this link to know more.

Sign in to comment.

More Answers (1)

Clayton Gotberg
Clayton Gotberg on 27 Apr 2021
I believe the reason it is overlapping each time is that your plot function only refers to y on each loop. When you only provide the axis argument and one other, it assumes you want them plotted from 1:size(input), so repeated calls would all start at the beginning. Try:
plot(app.UIAxes,x,y);
instead of
plot(app.UIAxes,y);
  2 Comments
Clayton Gotberg
Clayton Gotberg on 28 Apr 2021
For that one, you will need to use a startupFcn in your app. See the tutorial here about giving initial parameters and variables to your app.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!