将MATLAB的disp重定向到文本字符串

时间:2011-07-11 18:52:04

标签: matlab

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

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

2 个答案:

答案 0 :(得分:13)

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

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

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

答案 1 :(得分:4)

如果所有内容都进入stdout,您可以使用diary函数捕获并将其写入文件,然后在执行后您可以使用任意数量的matlab文件读取实用程序来解析它。您可能还会发现函数tempdirtempname在此上下文中很有用。