1

しばらくの間、研究に Matlab を使用していますが、並列コンピューティングについてもっと学びたいと思っています。Parfor は非常に便利な手法のようです。次のコードでは動作しません。

resultsOfRW = ones(100,N);

parfor i= 1:100

   RWs{i} = A; %I want to modify A in every iteration

   j = 1;
   S = 2; %just something larger than 1

   while j <= N && S > 1
        RWs{i} = DoSomethingRandomly(RWs{i}); % Make some (stochastic) change to RWs{i}
        S = GetSomeResultFrom(RWs{i});

        resultOfRW(i,j) = S; %This is invalid

        j = j+1;
   end
end

これで、スライスされた変数には無効なインデックス j に関係していることがわかりました。しかし、これを並行して実行することは完全に有効であるため、その理由はわかりません。

理由は別として、これを実装して並行して実行するにはどうすればよいですか?

4

1 に答える 1

2
于 2013-04-21T13:29:10.680 に答える