calling a function inside an app?

54 views (last 30 days)
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

Accepted Answer

J. Alex Lee
J. Alex Lee on 8 Jan 2020
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.

More Answers (0)

Categories

Find more on Develop Apps Using App Designer in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!