2014-01-11 185 views
0

我已經生成了一個矩形矩陣,其中azimouth角度隨着行的變化而變化,並且半徑隨着您更改列而發生變化。這些旨在表示旋轉直升機槳葉所經歷的相對速度。這產生了一個稱爲Vmat的矩陣。我想在一個圓圈繪製這出現(表示葉片的旋轉)將一個矩形矩陣繪製成圓形

到目前爲止我試圖

[R,T] = meshgrid(r,az);  

[x,y] = pol2cart(T,R);  

surf(x,y,Vmat(r,az));  

,因爲它與azimouth角度和半徑變化,這應該產生表示速度的輪廓表面但它會出現尺寸錯誤。 我不介意,如果它是2D輪廓圖或3D圖,我猜兩者都會以類似的方式寫入。

感謝 詹姆斯

回答

0

的錯誤是在寫Vmat(r,az),假設這些是半徑和方位的實際值,而不是索引到你的範圍和方位。如果你想利用只Vmat這是一個稍微不同的問題的一個子集,但這應該工作:

[R,T] = meshgrid(r,az); % creates a grid in polar coordinates 
[x,y] = pol2cart(T,R); % changes those to cartesian for surf 
surf(x,y,Vmat);  

或者你可以做一個等高線圖:

h = polar([0 2*pi], [0 max(r)]); % set up polar axes with right scale 
delete(h) % remove line 
hold on 
contour(x,y,Vmat); 
+0

想他們兩者; surf()繼續出現尺寸錯誤。等值線圖出現了:X的大小必須匹配Z的大小或 Z的列數。 – user3185852

+0

如果你給我你的電子郵件,我可以向你發送我需要使用的代碼位。 – user3185852

+0

「r」,「az」和「Vmat」的大小是多少? – nkjt