Unclassified variables in a parfor loop

I am trying to do something like the following:
parfor i= xystart:xyend
....
xycount = i - xystart + 1;
A = zeros(nx,ny); B = A;
for n=1:Nn;
for m=1:Mm;
A(m,n)= <some expression>;
B(m,n)= <some expression>;
end
end
C(xycount,:,:) = A. * B;
end
I am getting an error message saying that 'C' is an unclassified variable. The above snippet is not the actual code which is quite big. But I hope the lines above convey what am I trying to do. Any idea what am I doing wrong?
Thanks!

1 Commento

Try initializing variable C before calling the parfor loop.

Accedi per commentare.

 Risposta accettata

parfor i= 1:xyend-xystart+1
....
A = zeros(nx,ny); B = A;
for n=1:Nn;
for m=1:Mm;
A(m,n)= <some expression>;
B(m,n)= <some expression>;
end
end
C(i,:,:) = A. * B;
end

2 Commenti

Thanks! Is there a reason why changing the loop index like this fixes the problem?
It satisfies restrictions on sliced variables listed here

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Loops and Conditional Statements in Centro assistenza e File Exchange

Richiesto:

il 16 Mar 2020

Commentato:

il 17 Mar 2020

Community Treasure Hunt

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

Start Hunting!

Translated by