parfor loop variable classification
1 次查看(过去 30 天)
显示 更早的评论
Hi all,
I have always had trouble getting parlor loops to work for me, and again I'm having a variable classification issue. The code is for a machine vision program that we are using to detect blobs in multiple behavioral chambers in a video. We would basically like to use a parfor loop to find the blobs in each frame more rapidly. We'll track them across frames later. This way it would seem like if we built a small computer cluster, we could speed up the code a lot. Basically this is what we are trying to do with several of our variables (I've shown only one for an example).
recordAValue = NaN(blobsPerChamber, numberOfChambers, numberOfFrames);
parfor g = 1:numberOfFrames
load(frame);
for k = 1:numberOfChambers
findBlobs
for j = 1: blobsPerChamber
recordAValue(j,k,g) = someCalculation;
end
end
end
The error that I would get is that recordAValue cannot be classified. I've looked at the documentation but I still can't make sense of it. The loops all seem independent to me and the matrix recordAValue should be able to be generated one loop at a time.
Any help is appreciated. Thanks in advance.
2 个评论
Edric Ellis
2014-9-1
Hm. The following simplified example works for me:
out = NaN(6, 5, 4);
parfor idx = 1:4
for jdx = 1:5
for kdx = 1:6
out(kdx, jdx, idx) = 7;
end
end
end
What version of MATLAB are you using?
回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Matrix Indexing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!