Main Content

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

evalc

计算 MATLAB 表达式并捕获结果

说明

示例

results = evalc(expression) 计算 expression 表示的 MATLAB® 代码,并在 results 中捕获通常会写入命令行窗口的任何内容。

注意

在大多数情况下,使用 evalc 函数的效率低于使用其他 MATLAB 函数和语言构造的效率,生成的代码可能更难阅读和调试。有关详细信息,请参阅eval 函数的替代方法

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

示例

全部折叠

使用 evalc 计算表达式 magic(5) 并存储结果。

results = evalc('magic(5)')
results =
    
    '
     ans =
     
         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
     
     '

输入参数

全部折叠

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

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

输出参数

全部折叠

捕获的命令行窗口输出,以字符数组形式返回。捕获的输出中的各行由 \n 字符分隔。

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

局限性

  • 使用 evalc 时,函数 diarymoreinput 将被禁用。

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

提示

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

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

      [result,output] = evalc(expression)
在 R2006a 之前推出