R2017a版MATLAB非交互/批处理模式运行问题咨询
MATLAB R2017a 无
-batch选项的替代方案与问题处理 版本差异与替代选项
从MATLAB R2019a版本开始,官方提供了专门的非交互运行命令行选项:
-batch "statement"以非交互方式运行指定语句。
但R2017a版本没有这个选项,只能使用-r选项作为替代:
-r "statement"MATLAB启动后自动运行指定语句,有时被称为批处理模式调用MATLAB。运行的文件需在MATLAB启动文件夹或搜索路径中,不可包含路径名或文件扩展名,语句需用双引号包裹,多语句用分号或逗号分隔。
-r选项的问题与部分解决方案
使用-r选项会遇到以下三个问题:
- 执行时会弹出MATLAB窗口,显示执行的命令
- 脚本出错时程序会挂起,必须在MATLAB内执行
quit才能终止进程,但出错时quit无法正常执行 - 无法连接许可证服务器时,会弹出错误对话框而非返回退出码
其中第二个问题可通过用try/catch块包裹脚本主体解决,示例代码:
try % 这里写你的脚本主体代码 catch err fprintf('执行出错:%s\n', err.message); quit force; % 强制退出MATLAB进程 end
剩余问题的替代思路
曾考虑使用MATLAB-Python API,但R2017a版本的该API仅支持Python 3.4或3.5,需要为项目单独配置对应的Python环境,增加了部署复杂度。
内容的提问来源于stack exchange,提问作者Gus
相关产品推荐
相关产品推荐

