1. 程式人生 > >matlab三維畫圖總結

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)