forループ中にbr​eakがある場合にお​ける並列化

21 vues (au cours des 30 derniers jours)
HiLS SSL
HiLS SSL le 3 Août 2020
forループ中にbreakがある場合,parforでは並列化できません.
簡単にプログラムを示すと,総当りで判定条件を満たすかどうかを繰り返し,満たした場合breakするようなプログラムです.
プログラム例)
for i = 1:1:1000
a =i*i
if a >100
break
end
end
このような場合に並列化させる方法があれば教えて頂きたいです.
よろしくお願い致します.

Réponses (1)

Ryuhei Funada
Ryuhei Funada le 11 Août 2020
「breakではなくcontinueを使う」ではいかがでしょうか?
N=20;
aa = zeros(N,1);
parfor i = 1:N
a =i*i;
if a >100
continue
end
aa(i) = a;
end

Catégories

En savoir plus sur ループと条件付きステートメント dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!