2017-06-01 145 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,y,你選擇要繪製什麼,你已經選擇繪製x = 0,y = 0 –

+0

我不知道如何選擇不繪製x = 0和y = 0 @AnderBiguri –

+0

再次閱讀我的第一條評論。做它說的 –

回答

1

「刪除」了點,你不想:

[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); 

請注意,我用./

我還添加了更多的積分換成/,因爲你的meshgrid很小。

這是什麼結果如下,如果你使用contourf代替contour(同樣的事情,更好看):enter image description here

+0

錯誤:輸入字符在MATLAB語句或表達式中無效。這個錯誤出來wgen我運行你的代碼 –

+0

@SoniaSohi它現在工作 –

+0

它的工作原理,但在matlab命令窗口中顯示了很多數字。當我把;在代碼的第二行之後,輸出中仍然有很多數字。我如何更改代碼以不顯示它們? –