How to call an app design function from an external .m file

16 views (last 30 days)
Hi, I have an app design application myapp.mlapp and a function myfunc.m
in the app designer myfunc is called and it should calculate something for me and then plot a dada, this plot should be drawn in an UI Axes of myapp app design but i don't know how to do this.
I tied these:
  1. Making an object of mlapp file and then call the axes:
app = myapp;
plt = app.UiAxes1;
plot(plt,x,y);
but this code run myapp each time and i don't want to run myapp because its open already.
2. Calling a function in myapp
i made a function called func2 in app design code view and wanted to call it and let it does the things like:
app = myapp;
app.func2(x,y);
but it doesn't pass the x,y to the func2 in app designer, how can i solve this?
Regards.

Answers (1)

Cris LaPierre
Cris LaPierre on 24 Dec 2018
Edited: Cris LaPierre on 24 Dec 2018
I think this post addresses your issue, though perhaps not clearly.
Basically, in your app, you want to create a public function (in the code browser, switch to "Functions" and click on the drop down arrow next to the green "+" and select "Public F.unction). Here's a made up example that accepts x and y as inputs and returns x.*y as an output.
methods (Access = public)
function results = signalFunc(app,x,y)
plot(app.UIAxes,x,y);
results = x.*y;
end
end
Then to call the function externally (assuming my app is saved as myApp1.mlapp), use the following code
x = 0:.01:2*pi;
y = sin(x);
a = myApp1;
b = signalFunc(a,x,y);
  5 Comments
Yogesh Yadav
Yogesh Yadav on 19 Aug 2019
Did you figure out how to do this without running the app again in a new window?
Cris LaPierre
Cris LaPierre on 19 Aug 2019
The simplest solution would be to only run the code a=myApp1 if a does not exist. Something like this might work.
...
if ~exist('a')
a = vidStream;
end
...

Sign in to comment.

Categories

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

Products


Release

R2018b

Community Treasure Hunt

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

Start Hunting!