2016-01-15 204 views
0

我有一個函數,並希望將它繪製在圓柱座標上。matlab圓柱座標系中的繪圖表面

w(z,theta)=sin(n.pi.z/a).sin(m.theta) 

變量的界限是:z = 0..a,theta =0..θ_0,圓柱半徑爲R = 1。

作爲一種物理意義,我可以解釋,如果我們在笛卡爾座標系中,theta是x,y軸和w是這個矩形域上的表面。但是在圓柱座標系中,θ限制了半徑爲1的圓柱形圓柱片,其w在該域上是表面的。

回答

1

使用圓柱形或球形座標繪製涉及幾個步驟:

  1. theta用於和z創建載體:

    THETA = linspace(0,2 * PI); z = linspace(0,10);

  2. 創建從thetaz一個meshgrid

    [TH,Z] = meshgrid(THETA,Z);

  3. 寫您函數R(TH,Z):

    R = SIN(Z)+ 1 + 5 * SIN(TH); %//對於圓柱體,它將簡單地爲R = ones(size(Z));

  4. 轉換柱面座標到直角座標:

    [X,Y,Z] = pol2cart(TH,R,Z);

  5. 劇情使用surfmesh或任何結果:

    目(X,Y,Z); 軸等於

這是你得到的結果是: enter image description here