mexPutVariable (C) - Array from MEX function into specified workspace - MATLAB (original) (raw)
Array from MEX function into specified workspace
C Syntax
#include "mex.h" int mexPutVariable(const char *workspace, const char *varname, const mxArray *pm);
Description
Call mexPutVariable
to copy the mxArray
, at pointer pm
, from your MEX function into the specified workspace. MATLABĀ® assigns varname
to the mxArray
copied in the workspace.
mexPutVariable
makes the array accessible to other entities, such as MATLAB, user-defined functions, or other MEX functions.
If a variable of the same name exists in the specified workspace,mexPutVariable
overwrites the previous contents of the variable with the contents of the new mxArray
. For example, suppose the MATLAB workspace defines variable Peaches
as:
and you call mexPutVariable
to copy Peaches
into the same workspace:
mexPutVariable("base", "Peaches", pm)
The value passed by mexPutVariable
replaces the old value ofPeaches
.
Input Arguments
Scope of the array to copy, specified as const char*
. The possible values are:
base | Copy mxArray to the base workspace. |
---|---|
caller | Copy mxArray to the caller workspace. |
global | Copy mxArray to the list of global variables. |
Name of mxArray
in the workspace, specified asconst char*
.
Do not use MATLAB function names for variable names. Common variable names that conflict with function names include i, j, mode, char, size, or path. To determine whether a particular name is associated with a MATLAB function, use the which function.
Output Arguments
Status, returned as 0
on success. Returns1
on failure. A possible cause of failure is thatpm
is NULL
.
Examples
To open an example, type:
edit([fullfile(matlabroot,"extern","examples","mex","filename")]);
where filename
is:
Version History
Introduced before R2006a