歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Matlab基礎應用之作圖

強大的繪圖功能是Matlab的特點之一,Matlab提供了一系列的繪圖函數,用戶不需要過多的考慮繪圖的細節,只需要給出一些基本參數就能得到所需圖形,這類函數稱為高層繪圖函數。此外,Matlab還提供了直接對圖形句柄進行操作的低層繪圖操作。這類操作將圖形的每個圖形元素(如坐標軸、曲線、文字等)看做一個獨立的對象,系統給每個對象分配一個句柄,可以通過句柄對該圖形元素進行操作,而不影響其他部分。 

在此介紹繪制二維和三維圖形的高層繪圖函數以及其他圖形控制函數的使用方法,在此基礎上,再介紹可以操作和控制各種圖形對象的低層繪圖操作。

Matlab與C/C++聯合編程之從Matlab調用C/C++代碼 http://www.linuxidc.com/Linux/2012-08/68148.htm

二分類SVM方法Matlab實現 http://www.linuxidc.com/Linux/2013-05/84050.htm

Matlab中的取整函數fix, floor, ceil與round http://www.linuxidc.com/Linux/2013-10/91161.htm

Matlab編譯cuda的.cu文件 http://www.linuxidc.com/Linux/2014-04/100675.htm

一.二維繪圖

二維圖形是將平面坐標上的數據點連接起來的平面圖形。可以采用不同的坐標系,如直角坐標、對數坐標、極坐標等。二維圖形的繪制是其他繪圖操作的基礎。

一.繪制二維曲線的基本函數

在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)

程序執行後,打開一個圖形窗口,在其中繪制出如下曲線

注意:指數函數和正弦函數之間要用點乘運算,因為二者是向量。

以上提到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提供了一些繪圖選項,用於確定所繪曲線的線型、顏色和數據點標記符號。這些選項如表所示:

線型

顏色

標記符號

- 實線

b藍色

. 點

s 方塊

: 虛線

g綠色

o 圓圈

d 菱形

-. 點劃線

r紅色

× 叉號

∨朝下三角符號

-- 雙劃線

c青色

+ 加號

∧朝上三角符號

 

m品紅

* 星號

<朝左三角符號

 

y***

 

>朝右三角符號

 

k黑色

 

p 五角星

 

w白色

 

h 六角星

 

例 用不同的線型和顏色在同一坐標內繪制曲線 及其包絡線。

>> 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

在Matlab中,如果需要繪制出具有不同縱坐標標度的兩個圖形,可以使用plotyy函數,它能把具有不同量綱,不同數量級的兩個函數繪制在同一個坐標中,有利於圖形數據的對比分析。使用格式為:plotyy(x1,y1,x2,y2)

x1,y1對應一條曲線,x2,y2對應另一條曲線。橫坐標的標度相同,縱坐標有兩個,左邊的對應x1,y1數據對,右邊的對應x2,y2。

例:(略)

二.繪制圖形的輔助操作

繪制完圖形以後,可能還需要對圖形進行一些輔助操作,以使圖形意義更加明確,可讀性更強。

1.圖形標注

在繪制圖形時,可以對圖形加上一些說明,如圖形的名稱、坐標軸說明以及圖形某一部分的含義等,這些操作稱為添加圖形標注。有關圖形標注函數的調用格式為:

title(’圖形名稱’) (都放在單引號內)

xlabel(’x軸說明’)

ylabel(’y軸說明’)

text(x,y,’圖形說明’)

legend(’圖例1’,’圖例2’,…)

其中,title、xlabel和ylabel函數分別用於說明圖形和坐標軸的名稱。

text函數是在坐標點(x,y)處添加圖形說明。

legend函數用於繪制曲線所用線型、顏色或數據點標記圖例,圖例放置在空白處,用戶還可以通過鼠標移動圖例,將其放到所希望的位置。除legend函數外,其他函數同樣適用於三維圖形,在三維中z坐標軸說明用zlabel函數。

上述函數中的說明文字,除了使用標准的ASCII字符外,還可以使用LaTex(一種流行的數學排版軟件)格式的控制字符,這樣就可以在圖形上添加希臘字符,數學符號和公式等內容。在Matlab支持的LaTex字符串中,用/bf , /it , /rm控制字符分別定義黑體、斜體和正體字符,受LaTex字符串控制部分要加大括號{}括起來。例如,text(0.3,0.5,’the usful {/bf MATLAB}’),將使MATLAB一詞黑體顯示。一些常用的LaTex字符見表,各個字符可以單獨使用也可以和其他字符及命令配合使用。如text(0.3 ,0.5 ,’sin({/omega}t+{/beta})’)

將得到標注效果 。

標識符

符號

標識符

符號

標識符

符號

/alpha

 

/epsilon

 

/infty

 

/beta

 

/eta

 

/int

 

/gamma

 

/Gamma

 

/partial

 

/delta

 

/Delta

 

/leftarrow

 

/theta

 

/Theta

 

/rightarrow

 

/lambda

 

/Lambda

 

/downarrow

 

/xi

 

/Xi

 

/uparrow

 

/pi

 

/Pi

 

/div

 

/omega

 

/Omega

 

/times

 

/sigma

 

/Sigma

 

/pm

 

/phi

 

/Phi

 

/leq

 

/psi

 

/Psi

 

/geq

 

/rho

 

/tau

 

/neq

 

/mu

 

/zeta

 

/forall

 

/nu

 

/chi

 

/exists

 

 

更多詳情見請繼續閱讀下一頁的精彩內容: http://www.linuxidc.com/Linux/2014-06/103753p2.htm

Copyright © Linux教程網 All Rights Reserved