Azzera filtri
Azzera filtri

The variable in parfor cant classified

1 visualizzazione (ultimi 30 giorni)
htrh5
htrh5 il 11 Lug 2015
Commentato: htrh5 il 12 Lug 2015
parpool(3)
parfor n = 1:N
a=n/60;
for u_p=1:length(t)
x_a(n,u_p)=sqrt(1-1i*cot(a*pi/2)) *integral(@(u) ...
rectpuls(u).*exp(1i*pi* ( cot(a*pi/2)*t(u_p)^2 -2*csc(a*pi/2)*u*t(u_p) +cot(a*pi/2)*u.^2 )) ,- HalfDur,HalfDur );
end
end
Pretty sure I do not access the same location, but I might be wrong. What am I doing wrong?
on a side note, how can I write that inner loop better? i couldnt vector it

Risposta accettata

Walter Roberson
Walter Roberson il 12 Lug 2015
parfor requires that it be obvious that the same location cannot be written to multiple times.
You should write your output to a vector indexed just by n. You can then reshape the vector afterwards.
  5 Commenti
Walter Roberson
Walter Roberson il 12 Lug 2015
Consider using the ArrayValued option of integral()
htrh5
htrh5 il 12 Lug 2015
Thanks, that's it.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Parallel Computing Fundamentals in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by