matlab - 运行使用多个 MATLAB session 的脚本

标签 matlab parallel-processing

如何在多个 MATLAB session 中自动调用具有简单输入的函数?

手动执行此操作的方法是:

  • 打开三个 session
  • 调用 magic(t),其中 t 分别为 1、2 或 3

所以,我的问题是:我怎样才能以编程方式完成这一切?

如果相关,我不想使用并行处理工具箱。


请注意,我认为 parfor 循环不能满足我的要求。首先,这需要并行处理工具箱,其次,我希望能够在其中一个操作失败时立即进行调试,而不打扰其他 session 。

最佳答案

首先必须找到一种以编程方式打开 session 的方法。 基于thisthis发现你可以按如下方式执行(也适用于 Windows):

% Opening 3 matlab sessions
for t = 1:3
!matlab &
end

除了简单地打开它们之外,还可以给出简单的命令

!matlab -r "magic(5)" &

现在,要最终将其结合起来,还需要一个小技巧:

for t = 1:3
   str = ['!matlab -r "magic(' num2str(t) ')" &'];
   eval(str)
end

请注意,如果您想使用更复杂的输入,您可以简单地将它们保存在结构中,并通过使用包装脚本作为被调用函数来使用此索引来调用它们。

关于matlab - 运行使用多个 MATLAB session 的脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18204663/

相关文章:

c++ - 线程构建 block 与 MPI,哪个更适合 mt 需要?

Matlab 绘图 - 无法在一个plot() 命令中使用 "MarkerEdgeColor"、 "MarkerFaceColor"或 "MarkerSize"进行多个绘图

matlab - 如何在 Matlab 中设置 http post 请求的主体

c - 多线程程序的测量时间

c++ - 将处理器结果保存到 MPI 中的一个数组

R:Foreach 并行化

powershell - start-job 并行运行命令并在结果到达时输出结果

arrays - 查找并替换元胞数组中的值

java - 将 .mat 文件转换为 XML —— 需要添加 java 类?

python - 在 Ubuntu 上从 Python 代码创建静态库