The MATLAB® Runtime User Data Interface lets you easily access MATLAB Runtime data. It allows keys and values to be passed among a MATLAB Runtime instance, the MATLAB code running on the MATLAB Runtime, and the host application that created the instance. Through calls to the
MATLAB Runtime User Data Interface API, you access MATLAB Runtime data by creating a per-instance associative array of
mxArrays, consisting of a mapping from string keys to
mxArray values. Reasons for doing this include, but are not limited
to the following:
You need to supply run-time profile information to a client running an application created with the Parallel Computing Toolbox™. You supply and change profile information on a per-execution basis. For example, two instances of the same application may run simultaneously with different profiles. For more information, see Use Parallel Computing Toolbox in Deployed Applications.
You want to set up a global workspace, a global variable, or variables that MATLAB and your client can access.
You want to store the state of any variable or group of variables.
The API consists of:
Two MATLAB functions callable from within deployed application MATLAB code
Four external C functions callable from within deployed application wrapper code
Use the MATLAB functions
deployed MATLAB applications. They are loaded by default only
in applications created with the MATLAB
Compiler™ or MATLAB
Compiler SDK™ products.
You can include
getmcruserdata in your packaged application using
mcc -g -W cpplib:<lib> -T link:lib ... setmcruserdata.m getmcruserdata.m
You can also use the
%# function in your MATLAB file to include
getmcruserdata. Doing so ensures inclusion of these functions in
the packaged application when you use
setmcruserdata produce an
Unknown function error when called in MATLAB if the MCLMCR module cannot be located. You can avoid this situation
isdeployed before calling
setmcruserdata. For more
information about the
isdeployed function, see the
There are many possible scenarios for working with MATLAB Runtime data. The most general scenario involves setting the MATLAB Runtime with specific data for later retrieval, as follows:
In your code, include the MATLAB Runtime header file and the library header generated by MATLAB Compiler SDK.
Properly initialize your application using
After creating your input data, write or set it to the
MATLAB Runtime with
After calling functions or performing other processing, retrieve the new
MATLAB Runtime data with
Free up storage memory in work areas by disposing
of unneeded arrays with
Shut down your application properly with