數(shù)學(xué)實(shí)驗(yàn)課件:MATLAB圖形功能_第1頁
數(shù)學(xué)實(shí)驗(yàn)課件:MATLAB圖形功能_第2頁
數(shù)學(xué)實(shí)驗(yàn)課件:MATLAB圖形功能_第3頁
數(shù)學(xué)實(shí)驗(yàn)課件:MATLAB圖形功能_第4頁
數(shù)學(xué)實(shí)驗(yàn)課件:MATLAB圖形功能_第5頁
已閱讀5頁,還剩40頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

MATLAB圖形功能在處理一些實(shí)際問題時(shí),人們很難直接從大量的數(shù)據(jù)中感受其具體含義,使用圖形表示數(shù)據(jù)某些特征,有助于研究問題、發(fā)現(xiàn)規(guī)律、揭示本質(zhì).MATLAB提供了一系列的繪圖命令函數(shù),具有很方便的繪制圖形功能.本章主要介紹平面曲線、空間曲線和空間曲面的繪圖命令使用方法.二維圖形4.1三維圖形4.2CONTENTS4.1二維圖形

二維圖形是在X-Y平面上繪制的圖形,主要是由一些基本圖形元素組成,如點(diǎn)、直線、圓、多邊形等幾何元素.MATLAB系統(tǒng)提供了繪制曲線函數(shù)plot.由于MATLAB作圖是通過描點(diǎn)、連線來實(shí)現(xiàn)的,故在繪制曲線之前,需要先取圖形上的一系列點(diǎn)的坐標(biāo),即橫坐標(biāo)與縱坐標(biāo),然后利用plot函數(shù)繪制曲線.plot(X,Y,LineSpec)X和

Y都是向量,則它們的長度必須相同.繪制以數(shù)據(jù)(Xi,Yi)為節(jié)點(diǎn)的折線圖.其中LineSpec用于設(shè)置線型、標(biāo)記符號(hào)和顏色,見表4.1.plot(X1,Y1,LineSpec1,...,Xn,Yn,LineSpecn)同時(shí)繪制多條折線,相當(dāng)于繪制plot(X1,Y1,LineSpec1),……plot(Xn,Yn,LineSpecn)注意:表4-1中屬性可以全部指定,也可以只指定其中某幾個(gè),并且排列順序任意.表4-1圖形的線型、標(biāo)記符號(hào)和顏色

數(shù)學(xué)上,繪制[a,b]區(qū)間上的函數(shù)y=f(x)圖形,有以下步驟:

①找點(diǎn):在x軸上的找點(diǎn)x1,x2,x3,……

②計(jì)算函數(shù)值:計(jì)算這些點(diǎn)處的函數(shù)值y1=f(x1),y2=f(x2),y3=f(x3),……

③描點(diǎn):在坐標(biāo)系中畫出這些離散點(diǎn);

④連線:用直線或曲線連接這些點(diǎn),得到函數(shù)的大致圖形.在MATLAB中,繪制平面圖形可以采用以下步驟:

①給出x軸上的離散點(diǎn)列:x=[a:step:b];

②計(jì)算函數(shù)值:y=f(x);

③繪圖:plot(x,y)例4.1繪制0到2之間的正弦函數(shù)圖象.>>x=0:pi/20:pi*2;>>y=sin(x);>>plot(x,y,'r-*')%設(shè)置線型是實(shí)線,標(biāo)記點(diǎn)是型號(hào),顏色是紅色得到圖形如圖4-1.圖4-1(2)圖形的屬性

MATLAB可以用subplot劃分繪圖區(qū)域,調(diào)用格式如下:subplot(m,n,p)將一個(gè)繪圖窗口分割成m*n個(gè)子區(qū)域,并按行從左至右依次編號(hào).p表示第p個(gè)繪圖子區(qū)域.例4.2使用subplot繪圖.

>>x=-pi:pi/10:pi;

>>subplot(2,2,1);plot(x,sin(x));

>>subplot(2,2,2);plot(x,cos(x));

>>subplot(2,2,3);plot(x,x.^2);

>>subplot(2,2,4);plot(x,exp(x));圖4-2subplot繪圖

在繪制圖形的過程中,若對圖形加一些說明,如圖形名稱、曲線標(biāo)注、坐標(biāo)軸顯示等,一種方法是使用MATLAB圖形命令進(jìn)行處理,表4-2給出了常用圖形說明命令;另外一種方法,可以在圖形操作窗口下,選擇菜單欄中Insert選項(xiàng),再按提示進(jìn)行操作即可.命令意義title添加圖形標(biāo)題xlabel添加x坐標(biāo)軸標(biāo)注ylabel添加y坐標(biāo)軸標(biāo)注xlim設(shè)置當(dāng)前坐標(biāo)區(qū)或圖的x坐標(biāo)軸范圍ylim設(shè)置當(dāng)前坐標(biāo)區(qū)或圖的y坐標(biāo)軸范圍axis指定當(dāng)前坐標(biāo)區(qū)的范圍text添加數(shù)據(jù)點(diǎn)標(biāo)注legend添加圖例holdon保持當(dāng)前窗口的圖像gridon對圖形加網(wǎng)格控制figure新建繪圖窗口表4-2常用圖形命令例4.3常用圖形命令.

x=linspace(0,2*pi,100);

y1=sin(x);

y2=cos(x);

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

axis([02*pi-11])

title('正弦和余弦曲線')

xlabel('x')

ylabel('y')

text(pi,0,'\leftarrowsin(x)')

text(pi/2,0,'\leftarrowcos(x)')

legend('sin(x)','cos(x)')

得到的圖形見圖4-3.

圖4-3正弦和余弦曲線

例4.4隨機(jī)抽取了11個(gè)城市居民家庭關(guān)于收入與食品支出的樣本,數(shù)據(jù)見表4-3,繪制出收入x與支出y的關(guān)系圖.收入x(元)8293105130144150160180270300400支出y(元)758592105120130145156200200240表4-3收入x與支出y的關(guān)系解x=[8293105

130

144

150

160

180

270

300

400];

y=[758592

105

120

130

145

156

200

200

240];

plot(x,y,'bo')

title('城市居民家庭消費(fèi)情況')

xlabel('收入x(元)')

ylabel('支出y(元)')

gridon關(guān)系圖如圖4-4所示.

圖4-4城市居民家庭消費(fèi)情況2.符號(hào)函數(shù)繪圖

fplot(f,xinterval,LineSpec)

在指定區(qū)間xinterval=[xminxmax]繪制由函數(shù)

y=f(x)

定義的曲線,LineSpec設(shè)置線型、標(biāo)記符號(hào)和線條顏色,見表4-1.

fplot的繪圖數(shù)據(jù)點(diǎn)是自適應(yīng)產(chǎn)生的.在函數(shù)平坦處,所取數(shù)據(jù)點(diǎn)比較稀疏;在函數(shù)變化劇烈處,它將自動(dòng)取較密的數(shù)據(jù)點(diǎn).

例4.5繪制參數(shù)化曲線x=cos(3t)和y=sin(2t).

解>>xt=@(t)cos(3*t);

>>yt=@(t)sin(2*t);

>>fplot(xt,yt)

得到圖形如圖4-5.圖4-5繪制參數(shù)曲線例4.6繪制分段函數(shù).解新建腳本文件f.m,輸入以下MATLAB命令后保存并執(zhí)行后得到圖4-6.fplot(@(x)exp(x),[-30],'b')holdonfplot(@(x)cos(x),[03],'b')holdoffgridon圖4-6分段函數(shù)例4.7利用plot、fplot函數(shù)繪制

的圖像,并作比較.解MATLAB程序代碼如下

subplot(2,1,1)

x=-1:.1:1;y=sin(1./x);

plot(x,y)

subplot(2,1,2)

fplot(@(x)sin(1./x),[-1,1])得到的圖形見圖4-7.圖4-7利用plot、fplot函數(shù)繪圖

從圖4-7可以看出plot函數(shù)根據(jù)指定的數(shù)據(jù)點(diǎn),但是

在x=0處沒有意義,所以不能繪出x=0處的點(diǎn).對于導(dǎo)數(shù)變化比較大的函數(shù),用fplot比plot指令要更真實(shí).4.1.2其他繪圖函數(shù)polar(t,r,‘s’)在極坐標(biāo)下繪制圖形,t為極角theta,r為極徑rho.s表示線條的線型、標(biāo)記符號(hào)和顏色等,s可省略.fill(X,Y,ColorSpec)

填充

X和

Y

指定的二維多邊形(顏色由

ColorSpec

指定)其他繪圖函數(shù)見表4-4.函數(shù)名功能函數(shù)名功能area填充面積圖pie圓餅圖bar條形圖plotmatrix散點(diǎn)圖矩陣barh水平柱圖ribbon以三維帶形式畫二維線comet慧星形軌線stem火柴桿圖errorbar誤差條形圖stairs臺(tái)階圖gplot以圖論方式繪圖clabel等高線圖仰角標(biāo)簽quiver場圖polar極坐標(biāo)圖表4-4其他繪圖函數(shù)例4.8繪制心形線和四葉玫瑰線.解clf

t=0:pi/100:6*pi;

s1=2*sin(2*t);s2=2*(1-cos(t));

subplot(1,2,1)

polar(t,s1,'.')

title('心形線')

subplot(1,2,2)

polar(t,s2)

title('四葉玫瑰線')得到圖形如圖4-8.圖4-8心形線和四葉玫瑰線例4.9使用

fill

函數(shù)創(chuàng)建一個(gè)紅色八邊形.解

t=(1/16:1/8:1)'*2*pi;

x=cos(t);y=sin(t);

fill(x,y,'r')

axissquare得到圖形如圖4-9.圖4-9紅色八邊形4.2三維圖形1.三維曲線

plot3(X,Y,Z,LineSpec)

函數(shù)繪出三矩陣的列向量的,其中X,Y,Z為3個(gè)大小相同的矩陣.函數(shù)給出通過這些向量所表示的點(diǎn)的圖形.其中X,Y,Z為3個(gè)相同長度的向量.其中LineSpec為定義線型的字符串,形式同plot函數(shù).

plot3(X1,Y1,Z1,LineSpec1,...,Xn,Yn,Zn,LineSpecn)

可為每個(gè)X、Y、Z三元組指定特定的線型、標(biāo)記和顏色.可以對某些三元組指定LineSpec,而對其他三元組省略它.

繪制三維曲線的方法同平面曲線的類似,屬性設(shè)置見表4-1和4-2.例4.10繪制螺旋線解

t=0:0.5:10*pi;

x=t;y=sin(t);z=cos(t);

plot3(x,y,z,'.-')

title('螺旋線')

xlabel('x');ylabel('y');zlabel('z')得到圖形如圖4-10.圖4-10螺旋線例4.11繪制藍(lán)寶石項(xiàng)鏈圖.解

t=0:0.02*pi:2*pi;

x=sin(t);y=cos(t);z=cos(2*t);

plot3(x,y,z,'bd-')

boxon

view([-82,58])

legend('鏈','寶石')得到圖形如圖4-11.圖4-11藍(lán)寶石項(xiàng)鏈圖2.三維曲面

MATLAB中利用meshgrid、mesh和surf函數(shù)可以方便繪制三維曲面圖形.在MATLAB中繪制由函數(shù)z=z(x,y)確定的曲面時(shí),首先利用meshgrid產(chǎn)生一個(gè)網(wǎng)格矩陣,然后計(jì)算函數(shù)在各網(wǎng)格點(diǎn)上的值,再利用mesh和surf函數(shù)繪制曲面圖形.調(diào)用格式如下:

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

x,y為給定的向量,X,Y是網(wǎng)格劃分后得到的網(wǎng)格矩陣;

若x=y,則可簡寫為[X,Y]=meshgrid(x).mesh(X,Y,Z,C)

繪制由X,Y,Z,C所確定的曲面網(wǎng)格面圖形.surf(X,Y,Z,C)

繪制由矩陣X,Y,Z,C所確定的曲面圖,參數(shù)含義同mesh.mesh繪制網(wǎng)格圖,surf繪制著色的三維表面圖.例4.12使用向量

x

定義的

x

坐標(biāo)和向量

y

定義的

y

坐標(biāo)創(chuàng)建二維網(wǎng)格坐標(biāo),并在二維網(wǎng)格上計(jì)算函數(shù)z=

x2+y2.解

>>x=1:2;

>>y=1:3;

>>[X,Y]=meshgrid(x,y)

X=

12

12

12Y=112233>>Z=X.^2+Y.^2Z=25581013

例4.12中例用直線x=1,x=2,y=1,y=2,y=3對[1,2]×[1,3]進(jìn)行網(wǎng)格劃分,得到網(wǎng)格點(diǎn)(1,1),(1,2),(1,3),(2,1),(2,2),(2,3),見圖4-12.例4.12中的X和Y是同型矩陣,分別存儲(chǔ)網(wǎng)格點(diǎn)的橫坐標(biāo)和縱坐標(biāo).利用X和Y的點(diǎn)冪運(yùn)算計(jì)算網(wǎng)格點(diǎn)對應(yīng)的函數(shù)值矩陣Z,即X中的(i,j)元素和Y中的(i,j)元素進(jìn)行計(jì)算得到Z中的元素(i,j),如當(dāng)X(3,1)=1,Y(3,1)=3時(shí),Z(3,1)=10.

Z也和X、Y是同型矩陣.圖4-12meshgrid繪制二維網(wǎng)格例4.13(1)利用mesh繪制巴拿馬草帽(2)利用surf繪制橢球面解(1)x=[-8:0.5:8];y=[-8:0.5:8];

[X,Y]=meshgrid(x,y);

r=sqrt(X.^2+Y.^2)+eps;

Z=sin(r)./r;

mesh(X,Y,Z)

title(‘巴拿馬草帽')

xlabel('x');ylabel('y');zlabel('z')得到圖形見圖4-13a.圖4-13a(2)clear

r=linspace(0,pi,100);t=linspace(0,2*pi,100);

[r,t]=meshgrid(r,t);

X=3*sin(r).*cos(t);Y=2*sin(r).*sin(t);Z=cos(r);

surf(X,Y,Z)

axisequal

xlabel('x');ylabel('y');zlabel('z')

title('橢球面')

得到圖形見圖4-13b.圖4-13bMATLAB命令如下:t=0:0.1:2*pi;r=-3:0.1:3;[t,r]=meshgrid(t,r);x=r.*cos(t);y=r.*sin(t);z=r;mesh(x,y,z)holdonu=-pi:0.1:pi;v=-3:0.1:3;[u,v]=meshgrid(u,v);x1=1+cos(u);y1=sin(u);z1=v;mesh(x1,y1,z1)得到圖形如圖4-14.圖4-14錐面和柱面的相交圖形解MATLAB命令如下:r=-1/2:0.1:1/2;t=0:0.03:2*pi;[r,t]=meshgrid(r,t);x=(1+r.*cos(t/2)).*cos(t);y=(1+r.*cos(t/2)).*sin(t);z=r.*sin(t/2);surf(x,y,z)得到圖形如圖4-15.

圖4-15莫比烏斯帶前面作出的曲面都是雙側(cè)曲面,它們可以分出內(nèi)、外側(cè)或左、右側(cè)等,莫比烏斯帶子是單側(cè)曲面,它沒有內(nèi)外側(cè)和左右側(cè)之分.3.三維網(wǎng)圖的高級處理

(1)消隱處理:hiddenon|off設(shè)置或取消圖形消隱.該語句一定要放在繪圖語句之后,否則不起作用;

(2)帶有等位線投影的網(wǎng)圖繪制:meshc;

(3)平臺(tái)式網(wǎng)圖的繪制:meshz;

(4)水線圖的繪制:waterfall.例4.16三維網(wǎng)圖的高級處理.解

>>loadlogo

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論