How can i preallocate memory for sliced output variables in parfor loop?

5 ビュー (過去 30 日間)
Chih
Chih 2013 年 10 月 13 日
編集済み: Matt J 2013 年 10 月 13 日
How can i preallocate memory for sliced output variables in a parfor loop? Following is the example mentioned in Matlab Parallel Computing toolbox. The array "b" in the example is the sliced output variable. But, there is no preallocation of memory for "b". Isn't that going to affect the performance of Matlab in parfor loop?
a = 0;
z = 0;
r = rand(1,10);
parfor ii = 1:10
a = ii;
z = z + ii;
b(ii) = r(ii);
end
Thanks.

回答 (1 件)

Matt J
Matt J 2013 年 10 月 13 日
編集済み: Matt J 2013 年 10 月 13 日
Why not just pre-allocate b prior to the parfor loop?
a = 0;
z = 0;
r = rand(1,10);
b=zeros(size(r));
parfor ii = 1:10
....
end,

カテゴリ

Help Center および File ExchangeParallel for-Loops (parfor) についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by