gpt4 book ai didi

matlab - 如何在 MATLAB 中的 PARFOR 循环外使用变量?

转载 作者:太空宇宙 更新时间:2023-11-03 20:25:16 28 4
gpt4 key购买 nike

在 MATLAB 中,我有一个变量 proba 和一个 parfor 循环,如下所示:

parfor f = 1:N
proba = (1/M)*ones(1, M);
% rest of the code
end
pi_proba = proba;

MATLAB 说:“临时变量‘proba’在 PARFOR 循环之后使用,但它的值是不确定的”

我不明白如何纠正这个错误。我需要使用并行循环,并且在循环之后需要 proba。如何做到这一点?

最佳答案

当使用 parfor 时,类根据 these categories. 分类确保每个变量都匹配这些类别之一。对于对 proba 的非写入访问,广播变量将是最佳选择:

proba      = (1/M)*ones(1, M);
parfor f = 1:N
% rest of the code
end
pi_proba = proba;

在循环内写入访问的情况下,切片变量是必需的:

proba=cell(1,N)
parfor f = 1:N
%now use proba{f} inside the loop
proba{f}=(1/M)*ones(1, M);
% rest of the code
end
%get proba from whatever iteration you want
pi_proba = proba{N};

关于matlab - 如何在 MATLAB 中的 PARFOR 循环外使用变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24273779/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com