标签: matlab
说,在MATLAB交互式会话中,我从第三方库output = long_execution(input)调用一个函数。此函数通过disp语句将信息打印到命令窗口。我想在我可以在MATLAB中操作的文本字符串中捕获此类disp语句的输出。
output = long_execution(input)
disp
是否有一种(希望很简单)将disp的输出重定向到文本字符串的方法?如果是这样,你会怎么做? (也许是通过disp的重叠?)
答案 0 :(得分:13)
您可以使用evalc函数捕获disp输出。例如,
[T, output] = evalc('long_execution(input)');
通常进入命令窗口的任何内容都会被捕获到输出T中。
答案 1 :(得分:4)
如果所有内容都进入stdout,您可以使用diary函数捕获并将其写入文件,然后在执行后您可以使用任意数量的matlab文件读取实用程序来解析它。您可能还会发现函数tempdir和tempname在此上下文中很有用。
diary
tempdir
tempname