Run a .mlapp script from a .m script with input variables and output variables

17 Ansichten (letzte 30 Tage)
I have created an app using the app designer and the .mlapp script works as I want it when I run it from within the app designer specifying the input variable from the run icon. I am yet to work out how to get the app work similar to a function with it accepting input variables and outputting variables.
I have tried calling the mlapp script from within the .m script by script_name(input) but it doesn't accept the input variables in this way. I have tried specifying the input variable as a global variable and using the run function but neither of these seem to pass the input variable into the app's code. I have also tried some of the options for outputing variable from the app. I tried the assignin function but I can't tell if this is working without getting it to run properly in the .m script. I know I could get it to work with save and load functions but this seems clunky. Ideally I would like the app to run as a function with all the same functionality as the app designer.
I have read online that you could change the classdef to a function. If anyone has any documentation on how to do this or an example that would be helpful.

Akzeptierte Antwort

Kojiro Saito
Kojiro Saito am 13 Feb. 2024
You can call your .mlapp with input argtuments.
Please see "Define Input App Arguments" section. You need to change Code Options so that it allows input arguments.
  5 Kommentare
Adam Handley
Adam Handley am 13 Feb. 2024
I have worked out how to do it using the waitfor function.
myapp = CropControls(frame);
waitfor(myapp,'finished',true)
RectPosition = round(myapp.UIOutput);
myapp.delete

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Develop Apps Using App Designer finden Sie in Help Center und File Exchange

Produkte


Version

R2023a

Community Treasure Hunt

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

Start Hunting!

Translated by