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