从Windows DOS提示符运行MATLAB脚本

Mad*_*ddy 3 matlab command-line dos batch-file

我正在尝试从Windows命令提示符运行Matlab脚本,但有时无法执行。手动启动时,脚本运行良好。Matlab版本是2011a,Windows是Server 2003 SP2。细节:

脚本mytask.m位于say里面E:\Production\Project。这是SAVED在Matlab的道路上。

当我将mytask.m放在bin文件夹中时,它可以通过以下命令正常执行:

     `C:\Program Files\MATLAB\R2011a\bin>matlab -r mytask`
Run Code Online (Sandbox Code Playgroud)

如果删除它并尝试在其原始位置访问它,则尽管启动了Matlab编辑器窗口,该脚本也不会运行:

     `C:\Program Files\MATLAB\R2011a\bin>matlab -r "E:\Production\Project\mytask"
Run Code Online (Sandbox Code Playgroud)

有什么建议吗?谢谢。

YYC*_*YYC 5

语法matlab -rIS

matlab -r "statement"
Run Code Online (Sandbox Code Playgroud)

换句话说,您需要提供一些可执行命令作为语句。例如:

matlab -r "run E:\Production\Project\mytask"
Run Code Online (Sandbox Code Playgroud)

但是,似乎matlab不会以这种方式加载自定义路径。如果您有一些自定义的路径,则可能必须在其中定义它们,startup.m并将其放置startup.m在调用matlab的目录中。

我没有检查自己,但是如果您将其定义E:\Production\Project\为中的路径startup.m,则可能会matlab -r mytask毫无问题地运行,因为mytask它将被识别为用户功能/脚本。

一个简单的例子 startup.m

path(path, 'E:\Production\Project\');
Run Code Online (Sandbox Code Playgroud)

  • 或者您可以简单地做:`matlab -r“ addpath('E:\ Production \ Project'); mytask”` (2认同)