許多小白在一開始的學習中總是運用plot3繪製所有的三維圖像,導致經常繪製出的圖像並不是自己想要的,今天談一談plot3與mesh的區別
plot3是空間曲線繪圖,而mesh是空間曲面繪圖。具體使用方法如下
plot3
plot3的使用用法與plot用法類似,plot3 函數顯示數據點集的三維圖。將 t 定義為介於 0 和 5pi之間的值。將 st 和 ct 定義為正弦和餘弦值矢量。繪製三維螺旋圖。
t = 0:pi/50:5*pi;
st = sin(t);
ct = cos(t);
plot3(st,ct,t)
mesh
mesh(X,Y,Z) 使用 Z 確定的顏色繪製線框網格,因此其顏色與曲面高度成比例。如果 X 和 Y 為矢量,length(X) = n 且 length(Y) =m,其中 [m,n] = size(Z)。(X(j), Y(i), Z(i,j)) 是線框網格線的交點;X 和 Y 分別對應於 Z 的列和行。如果 X 和 Y 為矩陣,則 (X(i,j), Y(i,j), Z(i,j)) 是線框網格線的交點。X、Y 或 Z 中的值可以是數值、日期時間值、持續時間值或分類值。注意:mesh 不接受複數輸入。使用 view(3) 指定的視點以 Surfaceplot 圖形對象的形式繪製網格。面顏色與背景色相同(以便模擬消除了隱藏面的線框),當繪製標準透明線框時,面顏色也可以為 none。當前顏色圖確定邊顏色。hidden 命令控制網格中的隱藏面消除的模擬,shading 命令控制陰影模型。在matlab2016b之前一般mesh需要與meshgrid一起使用。
[X,Y] =meshgrid(x,y) 基於矢量 x 和 y 中包含的坐標返回二維網格坐標。X 是一個矩陣,每一行是 x 的一個副本;Y 也是一個矩陣,每一列是 y 的一個副本。坐標 X 和 Y 表示的網格有 length(y) 個行和 length(x) 個列。
t = 0:pi/50:5*pi;
st = sin(t);
ct = cos(t);
[st ct]=meshgrid(st,ct)
r=st.^2+ct.^2
surf(st,ct,r)
%%%2016b之後的可不必先生成meshgrid網格直接surf命令就可以
小練習
繪製如下函數的空間曲線和曲面,回復關鍵字【空間繪圖】即可獲得答案
效果圖如下所示
該公眾號創建這些天,感謝同學們的支持,小編也收到許多童鞋的來信不乏一些好的創意和建議,比如下面黃玉輝同學的建議,在以後基礎介紹知識中會加入一些小練習,創建的微信群聊可回復關鍵字【微信群聊】後的二維碼,歡迎您的加入。
在學習中得到樂趣,在樂趣中收穫學習,歡迎關注和分享公眾號【AbsorbedinU】,如果您有什麼建議可以公眾號直接回復即可。