【问题标题】:Redirecting MATLAB's disp to a text string将 MATLAB 的 disp 重定向到文本字符串
【发布时间】:2023-03-08 11:06:01
【问题描述】:

假设在 MATLAB 交互式会话中,我从第三方库 output = long_execution(input) 调用了一个函数。此函数通过disp 语句将信息打印到命令窗口。我想在可以在 MATLAB 中操作的文本字符串上捕获此类 disp 语句的输出。

是否有(希望是简单的)将disp 的输出重定向到文本字符串的方法?如果是这样,你会怎么做? (也许是通过disp 的叠加?)

【问题讨论】:

标签: matlab


【解决方案1】:

您可以使用 evalc 函数来捕获 disp 输出。例如,

    [T, output] = evalc('long_execution(input)');

通常会进入命令窗口的任何内容都会被捕获到输出 T 中。

【讨论】:

    【解决方案2】:

    如果一切都进入标准输出,您可以使用diary 函数来捕获它并将其写入文件,然后在执行后您可以使用任意数量的 matlab 文件读取实用程序来解析它。您可能还会发现函数 tempdirtempname 在这种情况下很有用。

    【讨论】:

      猜你喜欢
      • 2011-06-22
      • 1970-01-01
      • 1970-01-01
      • 2014-10-17
      • 1970-01-01
      • 2011-07-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多