フィルターのクリア

The variable in parfor cant classified

1 回表示 (過去 30 日間)
htrh5
htrh5 2015 年 7 月 11 日
コメント済み: htrh5 2015 年 7 月 12 日
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

採用された回答

Walter Roberson
Walter Roberson 2015 年 7 月 12 日
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 件のコメント
Walter Roberson
Walter Roberson 2015 年 7 月 12 日
Consider using the ArrayValued option of integral()
htrh5
htrh5 2015 年 7 月 12 日
Thanks, that's it.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeParallel Computing Fundamentals についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by