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

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

Antworten (1)

Ryuhei Funada
Ryuhei Funada am 11 Aug. 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

Kategorien

Mehr zu ループと条件付きステートメント finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!