Matlab / Simulink:并行运行一批模拟?

时间:2016-06-29 15:30:03

标签: matlab concurrency parallel-processing simulation simulink

我必须运行一系列模拟并保存结果。因为默认情况下Matlab只使用一个核心,我想知道是否可以打开多个工作任务并为它们分配不同的模拟运行?

2 个答案:

答案 0 :(得分:0)

您可以在单独的MATLAB实例中运行每个模拟,并让操作系统处理核心分配过程。

一个主MATLAB可以同步每个子实例检查,例如,如果模拟结果文件存在。

答案 1 :(得分:0)

我有同样的问题,但我没有真正理解如何在MatLab中制作它。 matlab中的文档太先进了,无法知道如何制作它。

由于我正在使用Ubuntu,我找到了一种方法来完成从MatLab调用unix命令并使用并行GNU命令的工作

所以我可以将我的模拟与4个内核并行运行。

unix('parallel --progress -j4 flow > /dev/null :::: Pool.txt','-echo')

您可以在链接中找到更多信息 Shell, run four processes parallel

可以在https://www.gnu.org/software/parallel/找到该语法的详细信息 但我可以告诉你,

- 进度显示进度状态

-j4告诉您要并行的数量或作业

flow是我模拟器的名称

/ dev / null只是为了避免模拟器的屏幕运行输出显示

Pool.txt是我用所需模拟器输入制作的文件,基本上是路径和主模拟器文件。

回声我现在不记得是什么:D