matlab三維畫圖總結
1、MATLAB中,三維曲線的繪製函式是plot3。語法形式如下:
plot3(X, Y, Z)
plot3(X, Y, Z, S)
plot3(X1, Y1, Z1, S, X2, Y2, Z2, S …)
X、Y和Z:三個方向上的座標值,尺寸相同
S:對曲線的線型、顏色、線寬、點標記樣式等屬性進行設定。
當X,Y,Z是同維矩陣時,則以X,Y,Z對應列元素繪製三維曲線,曲
線條數等於矩陣列數。
例子:
t=0:pi/100:20*pi;
x=sin(t);
y=cos(t);
z=t.*sin(t).*cos(t);
plot3(x,y,z);
title('Line in 3-D Space');
xlabel('X');ylabel('Y');zlabel('Z');
grid on;
2、繪製三維網格圖
mesh函式用於三維網眼圖的繪製,語法為:
mesh(X, Y, Z)
X、Y:網格矩陣陣列,一般是通過meshgrid函式生成的二維陣列;
Z:函式值陣列,通過函式z=f(x,y)計算得到
繪製三維網格圖的三個步驟:
#、用函式meshgrid生成平面網格矩陣;
#、計算平面網格矩陣數值矩陣Z,即計算(x,y)平面上所有網格點上的z值;
#、呼叫函式mesh繪製網眼圖。
舉例:
x = -2:0.2:2;
y = x;
[X, Y] = meshgrid(x,y);
Z = -3*X + 2*Y;
mesh(X,Y,Z)
3、繪製三維表面圖
surf函式用於三維表面圖的繪製,語法為:
surf(X, Y, Z)
surfc(X,Y,Z)
X、Y:網格矩陣陣列,一般是通過meshgrid函式生成的二維陣列;
Z:函式值陣列,通過函式z=f(x,y)計算得到。
Surfc在surf的基礎上繪製等值線;
4、其他三維函式
在介紹二維圖形時,曾提到條形圖、杆圖、餅圖和填充圖等特殊圖形,它們還可
以以三維形式出現,使用的函式分別是bar3、stem3、pie3 和fill3。
stem3函式繪製離散序列資料的三維杆圖,常用格式為:
stem3(z)
stem3(x,y,z)
舉例:
figure
X = linspace(-pi/2,pi/2,40);
Z =cos(X); stem3(Z)
5、pie3函式繪製離散序列資料的三維餅圖,常用格式為:
pie3(x)
舉例:
x = [1,3,0.5,2.5,2];
figure
pie3(x)
6、fill3函式:
基本用法:
fill3(X,Y,Z,C)
舉例:
X = [0 1 1 2; 1 1 2 2; 0 0 1 1];
Y = [1 1 1 1; 1 0 1 0; 0 0 0 0];
Z = [1 1 1 1; 1 0 1 0; 0 0 0 0];
C = [0.5000 1.0000 1.0000 0.5000;
1.00000.5000 0.5000 0.1667;
0.33300.3330 0.5000 0.5000];
figure fill3(X,Y,Z,C)