Matlab - for循环:创建两个线程并在每次迭代中连接它们

时间:2016-07-13 19:35:07

标签: multithreading matlab

for循环的每n个步骤我需要执行一个耗时的操作,我以后只需要n次迭代(下次我调用这个耗时的操作) - 仍然需要迭代结果i-1到开始计算。

我相信我可以从多线程中受益 - 只有2个线程。在我: (第一个线程):继续运行主循环,直到达到i + n并等待第二个线程完成。 (2)进行耗时的操作。

无论如何要在Matlab中实现它?

for i=1:1:N
  y(i) = g(y(i-1), x(i-1));

  if(mod(i, n) == 1)
    x(i) = f(x(i-n), y(i-1)); %Time consuming
  else
    x(i) = x(i-1);
  end
end

谢谢!

1 个答案:

答案 0 :(得分:1)

您可以将脚本分为两部分: 1.计算y数组的第一个循环 2.计算x数组的第二个循环

您可以使用并行计算工具箱来加速第二个循环。例如PARFOR