我必须进行全面的模拟(例如NUM) 与Matlab女巫我用以下行运行
./run.sh -d num
重复,其中num(NUM = integer * num)表示新Matlabs的数量。 C或NS等中的任何其他计算程序都可能发生同样的情况。 问题是这些进程运行的计算机只允许最大数量的Matlabs,例如: MAX。 我想跟踪运行的Matlabs的数量以及当最大数量减少到(MAX-num)时,因为'num'已经完成,然后运行Matlab的下一个'num'模拟,直到模拟的总数为NUM完成了。
要了解正在运行的进程数,请运行以下脚本
ps axu |grep plopez|grep simulacion|grep MATLAB|awk '{ $2} END{print NR}'
这使Matlabs在这一刻运行。
我怎样才能从一个脚本中完成整套模拟?
答案 0 :(得分:0)
快速而肮脏的方法是将您的模拟集划分为NUM个子集,然后您可以按顺序处理这些子集。
我使用以下脚本处理一些图像。文件夹结构如下:
所以我进入了终端的CASE文件夹并运行了我的脚本。这称为顺序matlab并运行脚本" processImages"产生一些提取数据。
在
list=$(ls | grep p)
实际上是一些快速而又脏的代码。但是,它适用于我的情况,可能会给你提示解决问题。
度过美好的一天。
#!/bin/bash
list=$(ls | grep p)
echo $list
for d in $list
do
echo $d
cd $d
matlab -nodisplay -nosplash -nodesktop -r "processImages; exit"
cd ..
done