我正在做一个使用多种语言的项目:
-
查询数据库的sql
-
Perl/Ruby,用于快速、脏兮兮地处理来自数据库和其他一些簿记的数据
-
面向矩阵计算的Matlab
-
处理Matlab输出的各种统计语言(SAS/R/SPSS)
每种语言都很适合它的小生境,我们已经在每种语言中有了相当数量的代码。现在,有很多手动操作来运行所有这些步骤,脚本编写得更好。我已经在linux上完成了这项工作,而且效果相对较好。
Linux上:
matlab -nosplash -nodesktop -r "command"
或
echo "command" | matlab -nosplash -nodesktop
…以“命令行”模式打开Matlab。(也就是说,没有创建任何窗口——它只是从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有一个
-automation
在Windows上标记以启动
"automation server"
. 对我来说,这听起来有点过分了,我希望两个平台都能工作。
在这个工作流程中,我有哪些选项可以使Matlab自动化?