Matlab繪圖
強大的繪圖功能是Matlab的特點之一,Matlab提供了一系列的繪圖函數,用戶不需要過多的考慮繪圖的細節,只需要給出一些基本參數就能得到所需圖形,這類函數稱為高層繪圖函數。此外,Matlab還提供了直接對圖形句柄進行操作的低層繪圖操作。這類操作將圖形的每個圖形元素(如坐標軸、曲線、文字等)看做一個獨立的對象,系統給每個對象分配一個句柄,可以通過句柄對該圖形元素進行操作,而不影響其他部分。
本章介紹繪制二維和三維圖形的高層繪圖函數以及其他圖形控制函數的使用方法,在此基礎上,再介紹可以操作和控制各種圖形對象的低層繪圖操作。
一.二維繪圖
二維圖形是將平面坐標上的數據點連接起來的平面圖形。可以采用不同的坐標系,如直角坐標、對數坐標、極坐標等。二維圖形的繪制是其他繪圖操作的基礎。
一.繪制二維曲線的基本函數
在Matlab中,最基本而且應用最為廣泛的繪圖函數為plot,利用它可以在二維平面上繪制出不同的曲線。
1. plot函數的基本用法
plot函數用于繪制二維平面上的線性坐標曲線圖,要提供一組x坐標和對應的y坐標,可以繪制分別以x和y為橫、縱坐標的二維曲線。plot函數的應用格式
plot(x,y)???? 其中x,y為長度相同的向量,存儲x坐標和y坐標。
例51 在[0 , 2pi]區間,繪制曲線
程序如下:在命令窗口中輸入以下命令??
>> x=0:pi/100:2*pi;
>> y=2*exp(-0.5*x).*sin(2*pi*x);
>> plot(x,y)
程序執行后,打開一個圖形窗口,在其中繪制出如下曲線
注意:指數函數和正弦函數之間要用點乘運算,因為二者是向量。
例52 繪制曲線
這是以參數形式給出的曲線方程,只要給定參數向量,再分別求出x,y向量即可輸出曲線:
>> t=-pi:pi/100:pi;
>> x=t.*cos(3*t);
>> y=t.*sin(t).*sin(t);
>> plot(x,y)
程序執行后,打開一個圖形窗口,在其中繪制出如下曲線
以上提到plot函數的自變量x,y為長度相同的向量,這是最常見、最基本的用法。實際應用中還有一些變化。分別說明:
①
2. 含多個輸入參數的plot函數
plot函數可以包含若干組向量對,每一組可以繪制出一條曲線。含多個輸入參數的plot函數調用格式為:plot(x1,y1,x2,y2,…,xn,yn)
如下列命令可以在同一坐標中畫出3條曲線。
>> x=linspace(0,2*pi,100);
>> plot(x,sin(x),x,2*sin(x),x,3*sin(x))
當輸入參數有矩陣形式時,配對的x,y按對應的列元素為橫坐標和縱坐標繪制曲線,曲線條數等于矩陣的列數。
>> x=linspace(0,2*pi,100);
>> y1=sin(x);
>> y2=2*sin(x);
>> y3=3*sin(x);
>> x=[x;x;x]';
>> y=[y1;y2;y3]';
>> plot(x,y,x,cos(x))
x,y都是含有三列的矩陣,它們組成輸入參數對,繪制三條曲線;x和cos(x)又組成一對,繪制一條余弦曲線。
利用plot函數可以直接將矩陣的數據繪制在圖形窗體中,此時plot函數將矩陣的每一列數據作為一條曲線繪制在窗體中。如
>> A=pascal(5)
A =
1???? 1???? 1???? 1???? 1
1???? 2???? 3???? 4???? 5
1 ???? 3???? 6??? 10??? 15
1???? 4??? 10??? 20??? 35
1???? 5??? 15??? 35??? 70
>> plot(A)
3. 含選項的plot函數
Matlab提供了一些繪圖選項,用于確定所繪曲線的線型、顏色和數據點標記符號。這些選項如表所示:
?
例 用不同的線型和顏色在同一坐標內繪制曲線 及其包絡線。
>> x=(0:pi/100:2*pi)';
>> y1=2*exp(-0.5*x)*[1,-1];
>> y2=2*exp(-0.5*x).*sin(2*pi*x);
>> x1=(0:12)/2;
>> y3=2*exp(-0.5*x1).*sin(2*pi*x1);
>> plot(x,y1,'k:',x,y2,'b--',x1,y3,'rp');
在該plot函數中包含了3組繪圖參數,第一組用黑色虛線畫出兩條包絡線,第二組用藍色雙劃線畫出曲線y,第三組用紅色五角星離散標出數據點。
4. 雙縱坐標函數plotyy
評論
查看更多