调用顺序m文件批处理文件?

时间:2017-03-30 18:15:47

标签: matlab batch-file

我想编写一个批处理文件,按顺序调用2个m文件。我希望第二个m文件(f.m)不要在第一个m文件(main.m)结束之前启动。第二个m文件重复4次(4个任务)。

我尝试使用等待选项,但不起作用。

#$ -S /bin/bash
#$ -l h_vmem=2G
#$ -l tmem=2G
#$ -cwd
#$ -j y
#$ -N example
#$ -t 1-4
echo "Task ID is $SGE_TASK_ID"


matlab -wait -nodisplay -nodesktop -nojvm -nosplash < main.m

matlab -nodisplay -nodesktop -nojvm -nosplash < f.m

我做错了什么?

1 个答案:

答案 0 :(得分:1)

在将它们汇总到MATLAB之前,您可以将main.mf.m的内容连接在一起

cat main.m f.m | matlab -nodisplay -nodesktop -nojvm -nosplash 

或者您可以通过使用-r标志

将命令传递给MATLAB来调用脚本
matlab -nodisplay -nodesktop -nojvm -nosplash -r 'main; f; exit'

这些都比你的方法更高效,因为在这里我们只启动了一个MATLAB实例。