如何在多个 MATLAB session 中自动调用具有简单输入的函数?
手动执行此操作的方法是:
- 打开三个 session
- 调用
magic(t)
,其中t
分别为 1、2 或 3
所以,我的问题是:我怎样才能以编程方式完成这一切?
如果相关,我不想使用并行处理工具箱。
请注意,我认为 parfor
循环不能满足我的要求。首先,这需要并行处理工具箱,其次,我希望能够在其中一个操作失败时立即进行调试,而不打扰其他 session 。
最佳答案
首先必须找到一种以编程方式打开 session 的方法。 基于this和 this发现你可以按如下方式执行(也适用于 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/