2014-12-05 175 views
0

我有功能如何在極座標系統中繪製u(x,y),MATLAB?

enter image description here

,我必須作出這樣的函數的曲線圖對(X,Y)位於該區域中

enter image description here

極座標系, 'ro'是半徑。

我發現很多方法如何創建一個變量的圖形,但不是兩個變量。感謝您的幫助。

+0

我可能是錯的,但我認爲你必須分別去解決它的'x'和'y,然後制定出'rho'和'theta'。 – kkuilla 2014-12-05 10:32:51

+1

x =ρ* cos(θ)和y =ρ* sin(θ)。其中的範圍從0到2pi。現在你可以計算你的數組的數據點,比如說rho = 0.9,theta就可以完成整個過程。這樣你可以得到2個數組,用於x,y這些你必須用它來獲得你的領域u。 (每個元素都使用bsxfun和你給定的u的定義)。現在你只需要繪製它,例如使用surf或imagesc。你必須得到一個矩陣! – 2014-12-05 10:44:59

+0

以上不是曲線,而是曲面。你想要'iso-lines'而不是'u(x,y)= K' – ja72 2014-12-05 21:35:40

回答

1

我把它改造從笛卡爾座標系到極「手」座標系,然後我做了這樣一個圖:

rho = linspace(0,0.9,50); 
phi = linspace(0,2*pi,50); 
[RHO,PHI] = meshgrid(rho,phi); 
u = (-1+RHO.^2)./(-RHO.^2+2*RHO.*sin(PHI)-1); 

figure('units','normalized','outerposition',[0 0 1 1]) 
set(gcf,'Color',[1,1,1]) 
box on; 

surf(RHO,PHI,u) 

xlabel('\rho'); 
ylabel('\phi'); 
zlabel('u(\rho,\phi)'); 

你覺得呢?正確?

enter image description here