Main Content

本页的翻译已过时。点击此处可查看最新英文版本。

eval

计算 MATLAB 表达式

说明

示例

eval(expression) 计算 expression 中的 MATLAB® 代码。

注意

安全注意事项:当使用不可信的用户输入调用 eval 时,请验证输入以避免意外的代码执行。例如,来自您可能不认识的用户的输入或您无法控制的来源的数据就属于不可信用户输入。如果您需要解决此问题,请考虑以下方法:

  • 验证 eval 的输入。首先,搜索允许的操作。然后,如果发现其他操作,禁止执行。

  • 用替代项替换 eval。有关详细信息,请参阅eval 函数的替代方法

性能方面的考虑:在大多数情况下,使用 eval 函数的效率还低于使用其他 MATLAB 函数和语言构造的效率,生成的代码可能更难阅读和调试。考虑使用 eval 的替代项。

示例

[output1,...,outputN] = eval(expression) 在指定的变量中返回 expression 的输出。

示例

全部折叠

使用 eval 计算并绘制表达式 magic(5)

Z = eval('magic(5)');
mesh(Z)

输入参数

全部折叠

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

示例: eval('magic(5)')

输出参数

全部折叠

计算的表达式的输出,以任何 MATLAB 数据类型形式返回。

局限性

  • 如果在匿名函数、嵌套函数或包含嵌套函数的函数中使用 eval,则计算的 expression 不会创建任何变量。

提示

  • 为了让 MATLAB 解析器对您的代码执行更严格的检查并避免未捕捉到的错误和其他意外行为,请不要在 eval 函数的输入中包含输出参数。例如,不推荐使用语句 eval(['output = ',expression])

    在这种情况下,请为 eval 函数指定输出参数,以存储计算的表达式的结果。例如:

      output = eval(expression)

兼容性考虑

全部展开

R2021a 中的行为有变化

在 R2006a 之前推出