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

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

답변 (1개)

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

카테고리

Help CenterFile Exchange에서 ループと条件付きステートメント에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!