Main Content

engPutVariable (C)

Put variable into MATLAB engine workspace

C Syntax

#include "engine.h"
int engPutVariable(Engine *ep, const char *name, const mxArray *pm);


engPutVariable writes mxArray pm to the engine ep, giving it the variable name name. Returns 0 if successful and 1 if an error occurs.

If the mxArray does not exist in the workspace, the function creates it. If an mxArray with the same name exists in the workspace, the function replaces the existing mxArray with the new mxArray.

The limit for the size of data transferred is 2 GB.

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.

The engine application owns the original mxArray and is responsible for freeing its memory. Although the engPutVariable function sends a copy of the mxArray to the MATLAB workspace, the engine application does not need to account for or free memory for the copy.

Input Arguments

expand all

Pointer to engine, specified as Engine *.

Name of mxArray in the MATLAB workspace, specified as const char *.

Pointer to mxArray, specified as const mxArray *.


See these examples in matlabroot/extern/examples/eng_mat:

  • engdemo.c for a C example on UNIX® operating systems.

  • engwindemo.c for a C example on Microsoft® Windows® operating systems.

Version History

Introduced before R2006a