我正在开发一个使用多种语言的项目:
每种语言都适合自己的位置,我们已经有了相当数量的代码。 现在,有很多手动工作来运行所有这些步骤,这将是更好的脚本。 我已经在Linux上完成了这个工作,并且工作得相当好。
在Linux上:
matlab -nosplash -nodesktop -r "command"
要么
echo "command" | matlab -nosplash -nodesktop
…在“命令行”模式下打开Matlab。 (也就是说,没有创build窗口 – 它只是从STDIN读取,执行,并输出到STDOUT / STDERR。)我的问题是,在Windows(XP和7),这个相同的代码打开一个窗口,不读从/写入命令行。 它只是盯着我,完全无视STDIN和STDOUT。
我怎样才能在Windows上运行Matlab命令? 我基本上想要做的事情:
ruby database_query.rb perl legacy_code.pl ruby other_stuff.rb matlab processing_step_1.m matlab processing_step_2.m # etc, etc.
我发现Matlab在Windows上有一个-automation
标志来启动一个“自动化服务器” 。 这听起来像是为了我的目的而矫枉过正,而且我希望在两个平台上都能运行。
在这个工作stream程中,我有什么select来实现Matlab的自动化?
matlab -nosplash -nodesktop -r "command"
在Windows上也是如此。 是的,它打开另一个窗口,但这不是一个问题。 我从Tomcat服务器上的Java包装以批处理模式运行它,并没有问题。 把所有的命令放到一个脚本文件中,不要忘记用exit命令关闭会话,并使用-r标志。 你也可以找到-noFigureWindows和-wait参数有用。 它适用于Windows和Unix。 您可以使用特定于平台的标志,如果某些标志不受支持,则会被忽略。
启动MATLAB程序(Windows平台)
还有一种方法可以隐藏C库的matlab窗口。 参见engSetVisible 。