2017-06-01 3 views
-1
[x,y] = meshgrid(-10:1:10,-10:1:10); 
idx = (x~=0)&(y~=0);  
contour(x(idx)/(x(idx).^2+y(idx).^2).^(3/2),y(idx)/(x(idx).^‌2+y(idx).^2).^(3/2))‌​; 

出力は白いページです!matlabで同色の一定の等高線を描く

+1

[MCVE]試してみてください。 x = 0、y = 0をプロットすることを選択しました –

+0

x = 0、y = 0をプロットしないようにする方法がわかりません@AnderBiguri –

+0

私の最初のコメントをもう一度読んでください。それは何を言ってください –

答えて

1

あなたが望んでいない点を「削除」:あなたの関数meshgridは小さなあるように私は./

/を置き換え

[x,y] = meshgrid(-10:0.1:10,-10:0.1:10); 
Idontwantthis = (x.^2+y.^2)<1; 
data= x./(x.^2+y.^2).^(3/2)+y./(x.^2+y.^2).^(3/2); 
data(Idontwantthis)=NaN; 
contourf(data,20); 

は注意を私はまた、より多くのポイントを追加しました。

これはあなたの代わりにcontour(同じ事、よりよい見て)のcontourfを使用する場合、結果は次のようになります。enter image description here

+0

エラー:入力文字がMATLABの文や式で有効ではありません。このコードは実行できません。このエラーが出てwgen私はあなたのコードを実行 –

+0

@ソニアソウそれは今shoudlの仕事 –

+0

それは動作しますが、matlabのコマンドウィンドウでたくさんの数字を示しています。私が置くとき; 2行目のコードの後に​​はまだ出力に数字がたくさんあります。コードを表示しないように変更するにはどうすればよいですか? –

関連する問題