-1

我必须使用 Matlab 女巫进行总量模拟(例如 NUM),我使用以下行运行

./run.sh -d num

重复,其中 num ( NUM = integer*num) 表示新 Matlab 的数量。C 或 NS 等中的任何其他计算程序也可能发生同样的情况。问题是运行这些进程的计算机只允许最大数量的 Matlab,例如 MAX。我想跟踪正在运行的 Matlab 的数量以及最大数量何时减少到(MAX-num),因为“num”已经完成,然后运行 ​​Matlab 的下一个“num”模拟,直到模拟的总数完成了。

要知道正在运行的进程数,我运行以下脚本

ps axu |grep plopez|grep simulacion|grep MATLAB|awk '{ $2} END{print NR}'

这给出了此刻运行的全部 Matlab。

我怎样才能只从一个脚本中进行整套模拟?

4

1 回答 1

0

快速而肮脏的方法是将您的模拟集划分为 NUM 个子集,然后您可以按顺序处理这些子集。

我使用以下脚本来处理一些图像。文件夹结构是这样的:

  • 案子
    • 20便士
    • 40便士
    • 60便士
    • 80p
    • 100p

所以我在终端中输入了 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
于 2013-09-20T10:50:34.177 回答