命令行matlab脚本调用给出未定义的变量/类错误

时间:2016-07-26 21:25:02

标签: matlab

我正在使用命令行Matlab(即远程ubuntu linux工作站)并尝试执行脚本。

我跑的时候:

Undefined variable "my_script" or class "my_script.m"

matlab会打开并给我一条错误消息,说明

matlab -nodesktop -nosplash -r "run('my_script.m');"

我在stackoverflow上找到了一个线程,用户遇到了类似的问题: Matlab: Running an m-file from command-line

但是当我尝试实现建议的语法时:

Unexpected MATLAB expression.

Error in run (line 96)
evalin('caller', [script ';'])

我现在收到语法错误,

{{1}}

我很少使用Matlab,甚至更少使用gui,所以我一直在尝试使用来自在线留言板的信息来修复语法。

1 个答案:

答案 0 :(得分:4)

您只需要移除Model.find({}).distinct('room_type', function(err, room_types) { //do something with room_types }); 扩展程序:

.m

原因是matlab -nodesktop -nosplash -r "my_script" 不是有效的Matlab语句。要运行脚本/函数,您需要使用其名称执行它,即my_script.m。您可以看到,如果您尝试直接从Matlab命令窗口运行my_scriptmy_script.m语句。

您提到的第二个错误(使用my_script命令时)似乎是您脚本中的实际错误。好像你忘了复制粘贴顶行,它应该显示错误发生的行号。您在下面看到的内容,即runError in run (line 96)只是堆栈跟踪中的第二个条目。它确实在使用evalin('caller', [script ';'])评估脚本时发生错误。