calling a function inside an app?

46 次查看(过去 30 天)
Hi,
I am trying to understand how to call a function inside an app. So, I've created a simple app to get the sum of two numbers (a,b), and c is their sum. There's a pushbutton in the app whose function is to run this created functon outside the app and assign the outcome to the variable "c". However when I run the app, I get this error:
Unable to resolve the name app.a.
Error in su (line 2)
c = app.a + app.b;
This is the app code
properties (Access = public)
a % Description
b % Description
end
% Callbacks that handle component events
methods (Access = private)
% Value changed function: aEditField
function aEditFieldValueChanged(app, event)
app.a = app.aEditField.Value;
end
% Value changed function: bEditField
function bEditFieldValueChanged(app, event)
app.b = app.bEditField.Value;
end
% Button pushed function: Button
function ButtonPushed(app, event)
su;
app.cEditField.Value = c;
And this is the "su" function
function su
c = app.a + app.b;
end
Any help on why I get this error would be really appreciated.
Thanks

采纳的回答

J. Alex Lee
J. Alex Lee 2020-1-8
Functions need inputs and outputs, so you will need to define the function su as
function out = su(app)
out = app.a+app.b
end
and inside your app
function ButtonPushed(app, event)
c = su(app);
app.cEditField.Value = c;
end
Now, as to whether this structure for the app and function is a good structure, that's a separate question.

更多回答(0 个)

类别

Help CenterFile 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!

Translated by