Info

Questa domanda è chiusa. Riaprila per modificarla o per rispondere.

Subscription assignment dimension mismatch when simulations > a certain number of times in parallel computing

1 visualizzazione (ultimi 30 giorni)
Hi everyone,
I've another question. I'm new to parallel computing. In fact, I've only started trying to use it today. I've the following in a parallel computing environment:
parfor z=1:16;
g=[1 2 3 4 no. of simulations];
[x(:,:,z),y(:,:,z),a(:,:,z),b(:,:,z)]=function(w,g,z);
end
When no. of simulations is set to 10, the parallel computing works perfectly. But, ideally, I want to run 1000 simulations in this parfor loop. However, when I tried anything above 10 loops, it stops halfway, and gives me an error of "Subscripted assignment dimension mismatch". The z number of cases are independent of each other.
Would anyone be able to point out what is possibly wrong with my code?
Would appreciate any help. Thanks :)

Risposte (1)

Matt J
Matt J il 30 Apr 2013
Does it happen in a regular for-loop (not parfor)? If so, it should be pretty easy to trap with DBSTOP.
  2 Commenti
Matt J
Matt J il 30 Apr 2013
In any case, the reason for the error is clear. At some point function(w,g,z) is returning something non-scalar. Why this happens for g>10 is buried inside the definition of the function.
jj
jj il 1 Mag 2013
You are right. It does not work even with a normal for loop beyond g>10. I've tried dbstop if error. It doesn't seem to tell me the line the error has occurred, which is strange.

Questa domanda è chiusa.

Community Treasure Hunt

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

Start Hunting!

Translated by