2016-12-14 4 views
0

円にない外点の数を計算したいと思います。しかし、私はこの問題を抱えています。私の円は単位円です。私のエラーはこれです:外部の一時変数は、各繰り返しの開始時に消去されます。 のparforループ。一時変数を持つparforを使用する

function [ ] = girkoson(N,n) 
%UNTİTLED Summary of this function goes here 
% Detailed explanation goes here 
hold on 
outside = 0; 
parfor i=0:N 
    E=ones(N,n); 
    karekok = sqrt(n); 
    E = [E, eig(randn(n))/karekok]; 
    a=real(E); 
    b= imag(E); 
    plot(a,b,'.r'); 
     if (a>= -1) | (a<=1) | (b>=-1) | (b<=1) 
     outside = outside +1; 
     fprintf('%f',outside); 
     end 
end 

derece=0:0.01:2*pi; 
xp=1*cos(derece); 
yp=1*sin(derece); 
x=0;y=0; 
plot(x+xp,y+yp,'-b'); 
hold off 
end 
+0

どのような問題がありますか?あなたはちょうどあなたのコードをここにダンプしました。あなたの質問は何ですか? – Adriaan

+0

私はちょうど編集しました – Bertug

答えて

0

あなたはparforreduction変数としてoutside治療しようとしているようです。ループ中に縮小変数の中間値にアクセスすることはできません。縮小のみを実行できます。つまり、fprintf('%f', outside)という行が問題を引き起こしている場合は、parforループが機能するためにこれを削除する必要があります。

parforループの本体で動作するワーカーは、グラフィックスをデスクトップに表示できないため、plotコールでは画面に何も表示されません。 (もし望むなら、printを使ってグラフィックスをファイルに出力することができます)。

+0

プロットは円と点を表示できるので、私は印刷を使いませんでした。 – Bertug

関連する問題