将Matlab命令行脚本错误保存到日志中

时间:2016-09-01 15:44:01

标签: matlab shell command-line extract-error-message

我在服务器群集上使用Matlab,因此我没有显示并通过命令行使用它。使用

运行脚本可以正常运行
matlab -nodesktop -nosplash my_script

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

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

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

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

2 个答案:

答案 0 :(得分:0)

Q& A forName让我找到了解决方案(两行可读性):

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

答案 1 :(得分:0)

假设您在Linux上运行,请参阅这些command line arguments。要将matlab输出到文件中,可以调用

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

来自documentation

  

-logfile filename

     

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