evalin - Evaluate MATLAB expression in specified workspace - MATLAB (original) (raw)

Evaluate MATLAB expression in specified workspace

Syntax

Description

evalin([workspace](#mw%5F29b55d3e-dc8b-4e6a-b17a-4e109c8ef358),[expression](#mw%5F26f65dda-10ae-4d33-a50c-e728bf0b2ab1)) evaluates the MATLABĀ® code represented by expression using the variables in the specified workspace.

Note

Security Considerations: Before callingevalin with untrusted user input, validate the input to avoid unexpected code execution. Examples of untrusted user input are data from a user you might not know or from a source you have no control over. If you need to address this concern, consider these approaches:

Performance Considerations: In most cases, using theevalin function is less efficient than using other MATLAB functions and language constructs, and the resulting code can be more difficult to read and debug. Consider using an alternative toevalin.

example

[[output1,...,outputN](#mw%5Fe8db20c7-7ed5-4a55-934e-153ad97e906c)] = evalin([workspace](#mw%5F29b55d3e-dc8b-4e6a-b17a-4e109c8ef358),[expression](#mw%5F26f65dda-10ae-4d33-a50c-e728bf0b2ab1)) returns the outputs from expression in the specified variables. In order for this syntax to be valid the expression,`output1,...,outputN` =`expression`, must also be valid.

example

Examples

collapse all

Use the evalin function to get the value of a variable in the MATLAB base workspace and store it in a new variable.

Define var as the 5-by-5 matrix returned by themagic function.

Get the value of the variable var in the MATLAB base workspace and store it in the variablev.

v =

17    24     1     8    15
23     5     7    14    16
 4     6    13    20    22
10    12    19    21     3
11    18    25     2     9

Input Arguments

collapse all

Workspace in which to evaluate expression, specified as'base' or 'caller'.

The MATLAB base workspace is the workspace that is seen from the MATLAB command line (when not in the debugger). The caller workspace is the workspace of the function that called the currently running function. The base and caller workspaces are equivalent in the context of a function that is invoked from the MATLAB command line.

Note

If you use evalin('caller',expression) in the MATLAB debugger after having changed your local workspace context with dbup or dbdown, MATLAB evaluates the expression in the context of the function that is one level up in the stack from your current workspace context.

Expression to evaluate, specified as a character vector or string scalar.expression must be a valid MATLAB expression and must not include any MATLAB keywords. To determine whether a word is a MATLAB keyword, use the iskeyword function.

Example: evalin('base','magic(5)')

Output Arguments

collapse all

Outputs from evaluated expression, returned as any MATLAB data type.

Limitations

Tips

Version History

Introduced before R2006a