Pass variable to .m file from app designer
古いコメントを表示
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 日
Your .m shall be a function:
function backtest(x)
z = x + 6;
end
Then call it as backtest(x) from app designer.
prabhjeet singh
2021 年 11 月 1 日
Yongjian Feng
2021 年 11 月 1 日
Please check my answer below.
採用された回答
その他の回答 (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.
カテゴリ
ヘルプ センター および File Exchange で Workspace Variables and MAT Files についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
