Effacer les filtres
Effacer les filtres

The variable in parfor cant classified

1 vue (au cours des 30 derniers jours)
htrh5
htrh5 le 11 Juil 2015
Commenté : htrh5 le 12 Juil 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

Réponse acceptée

Walter Roberson
Walter Roberson le 12 Juil 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 commentaires
Walter Roberson
Walter Roberson le 12 Juil 2015
Consider using the ArrayValued option of integral()
htrh5
htrh5 le 12 Juil 2015
Thanks, that's it.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Parallel Computing Fundamentals dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by