Re: [問題] 關於極座標畫3d圖的問題?已回收

看板MATLAB作者 (gg)時間14年前 (2009/12/31 00:01), 編輯推噓2(2010)
留言12則, 3人參與, 最新討論串3/3 (看更多)
※ 引述《zzs2005 (代工)》之銘言: : ※ 引述《sexygg (gg)》之銘言: : : 昨天有問過關於3d繪圖的問題,後來我發現我必須用極座標來繪圖,我的函數大致上是 : : y(r,theta)=bessel(k*r)*cos(m*theta),而k和m是常數.主要現在的問題就是沒辦法畫出 : : 3d的polar來看y的變化(y就是圓膜振動的振幅),之前有用過有人寫的polar3d函數, : : 可是發現跟我的所需不符,所以想上來問板上高手要怎麼繪3d的polar圖? : : 謝謝! : theta=linspace(0,2*pi,50); : rho=linspace(0,10,50); : [th,r]=meshgrid(theta,rho); : z=sin(r).*cos(th); : [x,y]=pol2cart(th,r); : surf(x,y,z) 感謝zz大的熱心解答,我剛試了一下發現一些問題,第一是我不太了解"z=sin(r).*cos(th) 這行指令的用意! 第二個問題是我畫的圖並非是要轉成卡式座標,基本上我想要我的圖形畫出來從上往 下看是極座標的2d圖(即圓形外圍標明角度,半徑則是r),但是從左往右看時會有高度 即是我想要的y軸(高度變化),希望這樣的解釋會比較好懂! 我剛用了你的指令去畫圖就發現轉成卡式座標了,也沒辦法畫出高度變化... 不過還是很感謝你的熱心解答,以上是我的問題,謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 115.43.139.84

12/31 03:36, , 1F
圓柱座標?
12/31 03:36, 1F

12/31 17:43, , 2F
圓柱座標的三軸還是xyz,但我想要二維看起來是polar
12/31 17:43, 2F

12/31 17:44, , 3F
也就是角度和r變化,但三維的部分,突起來的高度為振幅y軸
12/31 17:44, 3F

12/31 17:45, , 4F
這是我希望畫出的圖形效果^^
12/31 17:45, 4F

12/31 18:36, , 5F
你的2d圖是像⊕這個符號嗎 ○是th軸 +是r軸嗎 那我還是覺得
12/31 18:36, 5F

12/31 18:37, , 6F
z大畫的就是你要的 只是座標值沒轉回polar而已
12/31 18:37, 6F

12/31 18:39, , 7F
另外z大的"z=..."就是你的y(r,th)
12/31 18:39, 7F

01/01 00:32, , 8F
Q大,我就是要畫你說的那個圖沒錯!然後謝謝你跟我說明Z=...
01/01 00:32, 8F

01/01 00:35, , 9F
的作用,然後我剛重畫一變發現可以畫出來,但是仍然在卡式
01/01 00:35, 9F

01/01 00:36, , 10F
座標系上,然後我用cart2pol來轉換,但是振幅還是畫不出來,
01/01 00:36, 10F

01/01 00:37, , 11F
因為它顯示振幅部分為未定義polar,所以無法畫出來...= =
01/01 00:37, 11F

01/01 16:35, , 12F
google "polar3d matlab" 應該就是你要的
01/01 16:35, 12F
文章代碼(AID): #1BEtbFsf (MATLAB)
文章代碼(AID): #1BEtbFsf (MATLAB)