如何在 Matlab 中使用并行循环

Posted

技术标签:

【中文标题】如何在 Matlab 中使用并行循环【英文标题】:How can I use Parallel loop in Matlab 【发布时间】:2016-05-22 11:46:16 【问题描述】:

如果我在 Matlab 中有以下代码,如何修复 st3 矩阵中的索引以执行并行循环?谢谢你

n=1;
parfor j=1:10
[~,x1]=compare2Arrays(st1,st2);
    if isempty(x1)
        st3(n)=st4(j);
        n=n+1;
    end
end

【问题讨论】:

【参考方案1】:

因为循环不按顺序运行。你不能这样使用n。这是更新后的代码。

n=1;
st5=nan(1,10);
parfor j=1:10
[~,x1]=compare2Arrays(st1,st2);
    if isempty(x1)
        st5(j)=st4(j);
    end
end
st3=st5(not(isnan(st5)));

【讨论】:

以上是关于如何在 Matlab 中使用并行循环的主要内容,如果未能解决你的问题,请参考以下文章

具有并行工具箱的 Matlab 独立应用程序(已部署应用程序中的 parfor 循环)

可以像在 Python 中一样在 MATLAB 中进行并行遍历吗?

14.parfor并行循环处理

如何优化并行嵌套循环?

如何在 Matlab 中最大限度地利用多线程 CPU?

如何仅使用for循环在matlab中裁剪图像? [复制]