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(“基地”,[输出=,表达式])不推荐。

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

    输出= evalin(“基地”,表达)
之前介绍过的R2006a