Pass variable to .m file from app designer
28 ビュー (過去 30 日間)
古いコメントを表示
I am new in matlab app designer, but I have gone through basics of it. I have a very simple query where I am stuck at.
I am calling "backtest.m" file in app designer
%backtest.m file
clc;
clear;
close all;
z = x + 6;
And this is the app designer code
methods (Access = private)
% Button pushed function: Button
function ButtonPushed(app, event)
x = app.xEditField.Value;
backtest;
end
end
I get an error where x is undefined. What should I do to remove this error?
Thanks in advance.
Prabhjeet
3 件のコメント
採用された回答
Yongjian Feng
2021 年 11 月 1 日
編集済み: Yongjian Feng
2021 年 11 月 1 日
Return z value from your funciton backtest.m:
function z = backtest(x)
z = x + 6;
end
Call this function from app designer like this:
z = backtest(x);
Basically you shall pass input/output to/from your function using input argument and return. Don't pass data using global variables.
6 件のコメント
Ayman Shaban
2022 年 3 月 18 日
Thank you very much for your answer, i have another Q , how can i show the result of .m file on app designer after already calling the .m file
その他の回答 (1 件)
Cris LaPierre
2021 年 11 月 1 日
This will never work as written. The clear inside the m-file, whether a script or function, will remove any variables, including the one passed in.
Remove the following from your m-file
clc;
clear;
close all;
Place the m-file in the same folder as your app. Now when you call it, it's the same as adding the code from your m-file to the code in the callback function.
Note that the variable z will only exist inside the callback function. You need to keep in mind your variable scope.
I do agree that turning this into a function makes more programatic sense to me, but it is not necessary to get it to work.
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Develop Apps Using App Designer についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!