Before 2017b,there was a workaround to pass data from workspace to appdesigner. Please refer this link for the method:
https://www.mathworks.com/matlabcentral/answers/284140-call-an-mlapp-with-input-argument-s
In 2017b,the problem is resolved:
1) If you want to share/load data from outside the app, try the following:
a) You can load data from a MAT file in appdesigner code as shown below (inside a
callback function):
>> mydata = load('data.mat');
mydata structure
b) If you would like to load your data at the initialization phase of the app, add
the above code in "startupFcn" callback of the app.
c) You can read data from base workspace as shown below.
>> data = evalin('base','varName');
https://www.mathworks.com/help/matlab/ref/evalin.html
2) If you want to share data among callbacks of the app, you can create additional public/private properties of the app and store data in these proprieties.
Refer to the following documentation page for additional information on this.
https://www.mathworks.com/help/matlab/creating_guis/share-data-across-callbacks-in-app-designer.html
3) If you want to pass data from app to other external function or to the base workspace, you can do this as shown below:
>> app = myTestApp;
>>
>> x = app.x;
>> y = app.y;
Best Answer