evalin

评估MATLAB指定工作区中的表达式

描述

例子

evalin (工作空间表达式评估MATLAB®代码由表达式使用指定工作区中的变量。

请注意

在大多数情况下,使用evalin函数的效率低于使用其他MATLAB函数和语言结构,并且生成的代码可能更难以阅读和调试。有关更多信息,请参见eval函数的替代品

例子

output1,…,outputN= evalin(工作空间表达式返回的输出表达式在指定的变量中。

例子

全部折叠

使用evalin函数获取MATLAB基本工作空间中的变量值,并将其存储在一个新变量中。

定义var函数返回的5 × 5矩阵魔法函数。

Var =魔术(5);

获取变量的值var在MATLAB基础工作空间中,并将其存储在变量中v

V = evalin(“基地”“var”
V = 17 24 18 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9

输入参数

全部折叠

计算表达式的工作区,指定为“基地”“来电”

MATLAB基本工作空间是从MATLAB命令行(不在调试器中)看到的工作空间。调用方工作空间是调用当前运行函数的函数的工作空间。在从MATLAB命令行调用的函数上下文中,基本工作区和调用方工作区是等效的。

请注意

如果你使用evalin(调用者,表达式)在MATLAB调试器中使用dbupdbdown, MATLAB在堆栈中比当前工作空间上下文高一级的函数的上下文中计算表达式。

要计算的表达式,指定为字符向量或字符串标量。表达式必须是有效的MATLAB表达式,且不得包含任何MATLAB关键字。要确定一个单词是否是MATLAB关键字,请使用iskeyword函数。

例子:evalin(“魔(5)”)

输出参数

全部折叠

求值表达式的输出,作为任何MATLAB数据类型返回。

限制

  • evalin(调用者,表达式)发现只变量在调用者的工作区中;它没有发现功能在调用者中。因此,您不能使用evalin构造在调用方中定义的函数的句柄。

  • evalin不能递归地用于表达式求值。例如,语句evalin(调用者”、“evalin(“来电”、“x”))是无效的。

  • 如果你使用evalin在匿名函数、嵌套函数或包含嵌套函数的函数中,求值为表达式不创建任何变量。

提示

  • 类的输入中不要包含输出参数,以允许MATLAB解析器对代码执行更严格的检查,并避免未捕获的错误和其他意外行为evalin函数。例如,语句Evalin ('base',['output = ',expression])不建议使用。

    属性的输出参数evalin函数来存储求值表达式的结果。例如:

    输出= evalin('base',表达式)

R2006a之前介绍