MATLAB Answers

App Designer Plot Multiple Graph

13 ビュー (過去 30 日間)
Lee Xing Wei
Lee Xing Wei 2021 年 4 月 27 日
コメント済み: Subhadeep Koley 2021 年 4 月 28 日
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

採用された回答

Subhadeep Koley
Subhadeep Koley 2021 年 4 月 28 日
The attached minimum working example App might help you! Have a look.
  2 件のコメント
Subhadeep Koley
Subhadeep Koley 2021 年 4 月 28 日
@Lee Xing Wei This is called Public Property. See this link to know more.

サインインしてコメントする。

その他の回答 (1 件)

Clayton Gotberg
Clayton Gotberg 2021 年 4 月 27 日
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 件のコメント
Clayton Gotberg
Clayton Gotberg 2021 年 4 月 28 日
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.

サインインしてコメントする。

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by