[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で同色の一定の等高線を描く
[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で同色の一定の等高線を描く
あなたが望んでいない点を「削除」:あなたの関数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
を使用する場合、結果は次のようになります。
エラー:入力文字がMATLABの文や式で有効ではありません。このコードは実行できません。このエラーが出てwgen私はあなたのコードを実行 –
@ソニアソウそれは今shoudlの仕事 –
それは動作しますが、matlabのコマンドウィンドウでたくさんの数字を示しています。私が置くとき; 2行目のコードの後にはまだ出力に数字がたくさんあります。コードを表示しないように変更するにはどうすればよいですか? –
[MCVE]試してみてください。 x = 0、y = 0をプロットすることを選択しました –
x = 0、y = 0をプロットしないようにする方法がわかりません@AnderBiguri –
私の最初のコメントをもう一度読んでください。それは何を言ってください –