Using parfor with a 3d array
8 views (last 30 days)
Show older comments
I am trying to update a 3d array within a parfor loop. The actual code is too messy to reproduce here but the snippet of code below conveys what I am trying to do (but unable to).
a = zeros(5,5,10):
parfor t = 1:ntimes;
temp = randn(5,5); % In my actual code, this is some meaningful quantity that depends on the loop variable 't'
for k = 1:10;
a(:,:,k) = a(:,:,k) + randn(5,5);
end
end
I get an error saying matlab is unable to classiy the variable 'a'.
Is there a way I can fix this?
Thanks!
0 Comments
Answers (1)
Matt J
on 3 Feb 2021
A variable in a parfor loop must belong to one of 5 categories. I cannot tell from your simplified example which category a is supposed to belong to (and neither can parfor), but the table here should help you decide:
See Also
Categories
Find more on Parallel for-Loops (parfor) in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!