matlab函式影象繪製函式集錦

2022-10-04 18:15:05 字數 5401 閱讀 4723

matlab中最基本的函式 plot()的用法 (2011-12-13 19:17:29)**▼

標籤: matlab plot 指令

5.1 二維平面圖形

5.1.1 基本圖形函式

plot 是繪製二維圖形的最基本函式,它是針對向量或矩陣的列來繪製曲線的。也就是

說,使用plot 函式之前,必須首先定義好曲線上每一點的x 及y 座標,常用格式為:

(1)plot(x) 當x 為一向量時,以x 元素的值為縱座標,x 的序號為橫座標值繪製

曲線。當x 為一實矩陣時,則以其序號為橫座標,按列繪製每列元素值相對於其序號的曲

線,當x 為m× n 矩陣時,就由n 條曲線。

(2)plot(x,y) 以x 元素為橫座標值,y 元素為縱座標值繪製曲線。

(3)plot(x,y1,x,y2,…) 以公共的x 元素為橫座標值,以y1,y2,… 元素為縱座標值繪

制多條曲線。

例5.1.1 畫出一條正弦曲線和一條余弦曲線。

>> x=0:pi/10:2*pi;

>> y1=sin(x);

>> y2=cos(x);

>> plot(x,y1,x,y2)

圖5.1.1 函式plot 繪製的正弦曲線

在繪製曲線圖形時,常常採用多種顏色或線型來區分不同的資料組,matlab 軟體專

門提供了這方面的引數選項(見表5.1.1),我們只要在每個座標後加上相關字串,就可

實現它們的功能。

- 2 -

表5.1.1 繪圖參數列

色彩字元顏色線型字元線型格式標記符號資料點形式標記符號資料點形式

y 黃- 實線. 點< 小於號

m 紫: 點線o 圓s 正方形

c 青-. 點劃線x 叉號d 菱形

r 紅- - 虛線+ 加號h 六角星

g 綠* 星號p 五角星

b 藍v 向下三角形

w 白^ 向上三角形

k 黑》 大於號

例如,在上例中輸入

>> plot(x,y1,'r+-',x,y2,'k*:')

則得圖5.1.2

圖5.1.2 使用不同標記的plot 函式繪製的正弦曲線

5.1.2 圖形修飾

matlab 軟體為使用者提供了一些特殊的圖形函式,用於修飾已經繪製好的圖形。

表5.1.2 圖形修飾函式表

函式含義

grid on (/off) 給當前圖形標記新增(取消)網路

xlable(『string』) 標記橫座標

ylabel(『string』) 標記縱座標

title(『string』) 給圖形新增標題

text(x,y,』string』) 在圖形的任意位置增加說明性文字資訊

gtext(『string』) 利用滑鼠新增說明性文字資訊

axis([xmin xmax ymin ymax]) 設定座標軸的最小最大值

- 3 -

例5.1.2 給例5.1.1 的圖形中加入網路和標記。(見圖5.1.3 和5.1.4)

>> x=0:pi/10:2*pi;

>> y1=sin(x);

>> y2=cos(x);

>> plot(x,y1,x,y2)

>> grid on

>> xlabel('independent variable x')

>> ylabel('dependent variable y1 & y2')

>> title('sine and cosine curve')

>> text(1.5,0.3,'cos(x)')

>> gtext('sin(x)')

>> axis([0 2*pi -0.9 0.9])

圖5.1.3 使用了圖形修飾的plot 函式繪製的正弦曲線

5.1.3 圖形的比較顯示

在一般預設的情況下,matlab 每次使用plot 函式進行圖形繪製,將重新產生乙個圖

形視窗。但有時希望後續的圖形能夠和前面所繪製的圖形進行比較。一般來說有兩種方法

:一是採用hold on(/off)命令,將新產生的圖形曲線疊加到已有的圖形上;二是採用

subplot(m,n,k)函式,將圖形視窗分隔成n m× 個子圖,並選擇第k 個子圖作為當前圖形

,然後在同乙個檢視視窗中畫出多個小圖形。

例5.1.3 在同一視窗中繪製線段。(見圖5.1.5)

>> x=0:pi/10:2*pi;

>> y1=sin(x);

>> y2=cos(x);

>> y3=x;

- 4 -

>> y4=log(x);

>> plot(x,y1,x,y2)

>> hold on

>> plot(x,y3)

>> plot(x,y4)

>> hold off

例5.1.4 在多個視窗中繪製圖形。(見圖5.1.6)

>> x=0:pi/10:2*pi;

>> y1=sin(x);

>> y2=cos(x);

>> y3=exp(x);

>> y4=log(x);

>> subplot(2,2,1);

>> plot(x,y1);

>> subplot(2,2,2);

>> plot(x,y2);

>> subplot(2,2,3);

>> plot(x,y3);

>> subplot(2,2,4);

>> plot(x,y4);

[說明] (1)子視窗的序號按行由上往下,按列從左向右編號。

(2)如果不用指令clf 清除,以後圖形將被繪製在子圖形視窗中。

圖5.1.4 設定座標軸最大最小值的正弦曲線

- 5 -

圖5.1.5 圖形的比較顯示(曲線疊加方法)

圖5.1.6 圖形的比較顯示(圖形視窗分割方法)

- 6 -

5.2 三維立體圖形

5.2.1 三維曲線圖

與二維圖形相對應,matlab 提供了plot3 函式,可以在三維空間中繪製三維曲線,

它的格式類似於plot,不過多了z 方向的資料。plot3 的呼叫格式為:

plot3(x1,y1,z1,x2,y2,z2,...)

其中x1,y1,z1,x2,y2,z2,…等分別為維數相同的向量,分別儲存著曲線的三個座標值,該

函式的使用方式和plot 類似,也可以採用多種的顏色或線型(見表5.1.1)來區分不同的資料

組,只需在每組變數後面加上相關字串即可實現該功能。

例5.2.1 繪製方程x=t

y=sin(t)

z=cos(t)

在t=[0,2*pi]上

的空間方程。(見圖5.2.1)

>> clf

>> x=0:pi/10:2*pi;

>> y1=sin(x);

>> y2=cos(x);

>> plot3(y1,y2,x,'m:p')

>> grid on

>> xlabel('dependent variable y1')

>> ylabel('dependent variable y2')

>> zlabel('independent variable x')

>> title('sine and cosine curve')

圖5.2.1 函式plot 繪製的三維曲線圖

- 7 -

5.2.2 三維曲面圖

如果要畫乙個三維的曲面,可以使用mesh(x,y,z)或surf(x,y,z)函式來實現。

mesh 函式為資料點繪製網格線,圖形中的每乙個已知點和其附近的點用直線連線。surf

函式和mesh 的用法類似,但它可以畫出著色表面圖,圖形中的每乙個已知點與其相鄰點以

平面連線。

為方便測試立體繪圖,matlab 提供了乙個peaks 函式,它可以產生乙個的高

斯分布矩陣,其生成方程是

n n ×

z=3*(1-x).^2.*exp(-(x.

^2)-(y+1).^2)-10*(x/5-x.^3-y.

^5).*exp(-x.^2-y.

^2)-1/3*ex

p(-(x+1).^2-y.^2)

對應的圖形是乙個凹凸有致的曲面,包含了三個區域性極大點及三個區域性極小點。

下面使用peaks 函式來比較一下mesh 和surf 的區別。

例5.2.2 分別用mesh 函式和surf 函式繪製高斯矩陣的曲面。

>> z=peaks(40);

>> mesh(z);

>> surf(z);

圖5.2.2 mesh 函式繪製的三維曲面圖

- 8 -

圖5.2.3 surf 函式繪製的著色表面圖

在曲面繪圖中,另乙個常用的函式是meshgrid 函式,其一般引用格式是:

[x, y]=meshgrid (x, y)

其中x 和y 是向量,通過meshgrid 函式就可將x 和y 指定的區域轉換成為矩陣x 和y。

這樣我們在繪圖時就可以先用meshgrid 函式產生在x-y 平面上的二維的網格資料,再以一

組z 軸的資料對應到這個二維的網格,即可畫出三維的曲面。

例5.2.3 繪製方程

sin((x^2+y^2)^(1/2))

z (x^2+y^2)^(1/2)

在x∈[-7.5,7.5];y∈[-7.5,7.5] 的圖形。

>> x=-7.5:0.5:7.5;y=x;

>> [x,y]=meshgrid(x,y);

>> r=sqrt(x.^2+y.^2)+eps;

>> z=sin(r)./r;

>> surf(x,y,z)

>> xlabel('x 軸方向')

>> ylabel('y 軸方向')

>> zlabel('z 軸方向')

(見圖5.2.4)

x^2+y^2)

例5.2.4 繪製由方程形成的立體圖。(見圖5.2.5) z=xe

>> clear

>> x=-2:0.1:2;y=x;

>> [x,y]=meshgrid(x,y);

>> z=x.*exp(-x.^2-y.^2);

- 9 -

>> surf(x,y,z)

圖5.2.4

圖5.2.5

- 10 -

5.2.3 觀察點

mtalab 允許使用者設定觀察點,其指令是: view(azimuth,elevation)

其中方位角azimuth 是觀察點和座標原點連線在x-y 平面的投影和y 軸負方向的夾角,仰

角elevation 是觀察點與座標原點的連線和x-y 平面的夾角。對於這兩個角度,三維圖形的

預設值分別是-37.5 和30,二維圖形的預設值是0 和90。

例5.2.5 從不同的角度觀察高斯矩陣的曲面。

MATLAB影象處理相關函式

一 通用函式 colorbar 顯示彩色條 語法 colorbar colorbar vert colorbar horiz colorbar h h colorbar colorbar peer axes handle getimage 從座標軸取得影象資料 語法 a getimage h x,y...

繪製函式曲線

瀋陽航空工業學院 課程設計 學號 200604061262 班級 6406108 姓名 張延姣 指導教師 尹航 2008年 3 月 10 日 瀋陽航空工業學院 課程設計任務書 院系 機械與電子工程學院專業 機械電子班級 6406108班 學號 200604061262 課程設計題目 繪製函式曲線 一...

matlab函式大全

matlab函式參考 附錄1 常用命令 附錄1.1 管理用命令 附錄1.2管理變數與工作空間用命令 附錄1.3檔案與作業系統處理命令 附錄1.4視窗控制命令 附錄1.5啟動與退出命令 附錄2 運算符號與特殊字元附錄 2.1運算符號與特殊字元 附錄2.2邏輯函式 附錄3 語言結構與除錯 附錄3.1程式...