Pass variable to .m file from app designer
Mostrar comentarios más antiguos
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 comentarios
Yongjian Feng
el 1 de Nov. de 2021
Editada: Yongjian Feng
el 1 de Nov. de 2021
Your .m shall be a function:
function backtest(x)
z = x + 6;
end
Then call it as backtest(x) from app designer.
prabhjeet singh
el 1 de Nov. de 2021
Yongjian Feng
el 1 de Nov. de 2021
Please check my answer below.
Respuesta aceptada
Más respuestas (1)
Cris LaPierre
el 1 de Nov. de 2021
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.
Categorías
Más información sobre Workspace Variables and MAT Files en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
