【问题标题】:Control the running number of Matlab simulations控制 Matlab 仿真的运行次数
【发布时间】:2013-09-17 20:20:31
【问题描述】:

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

./run.sh -d num

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

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

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

这给出了此时运行的 Matlab 总数。

我怎样才能只用一个脚本来制作整套模拟?

【问题讨论】:

    标签: matlab process controls


    【解决方案1】:

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

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

    • 案例
      • 20p
      • 40p
      • 60p
      • 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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-15
      • 2012-04-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多