Pass variable to .m file from app designer
28 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
prabhjeet singh
el 1 de Nov. de 2021
Editada: prabhjeet singh
el 22 de Mzo. de 2022
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
Respuesta aceptada
Yongjian Feng
el 1 de Nov. de 2021
Editada: Yongjian Feng
el 1 de Nov. de 2021
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 comentarios
Ayman Shaban
el 18 de Mzo. de 2022
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
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.
0 comentarios
Ver también
Categorías
Más información sobre Develop Apps Using App Designer en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!