0

我在服务器集群上使用 Matlab,因此我没有显示并通过命令行使用它。运行脚本可以正常工作

matlab -nodesktop -nosplash my_script

为了将输出保存到日志并在执行后退出 Matlab my_script,我修改了命令如下:

matlab -nodesktop -nosplash -r "try, my_script; end, quit force" | tee simple.log

但是,在Matlab桌面版中显示的错误信息不会显示在日志中,这使得调试非常困难。

有没有办法在日志中存储带有错误消息的 matlabs 输出?

4

2 回答 2

0

这里的问答让我找到了一个解决方案(为了便于阅读,分两行):

matlab -nosplash -nodesktop -r 
    "try, my_script; catch e, disp(getReport(e)), end, quit force" | tee my_.log

我忘记的简单的事情是try吞下异常的错误。catch e, disp(getReport(e))像往常一样显示错误消息,即使带有行号。tee simple.log

于 2016-09-01T15:44:00.710 回答
0

假设您在 Linux 上运行,请参阅这些命令行参数。要将 matlab 的输出保存到文件中,您可以调用

matlab -nosplash -nodesktop -logfile my.log -r "try; ...; catch e;.. " 

文档

-logfile 文件名

将命令行窗口输出(包括错误报告)复制到文件名中,指定为字符串。

于 2016-09-02T07:53:26.850 回答