第7章__MATLAB繪圖及例子20141113_第1頁
第7章__MATLAB繪圖及例子20141113_第2頁
第7章__MATLAB繪圖及例子20141113_第3頁
第7章__MATLAB繪圖及例子20141113_第4頁
第7章__MATLAB繪圖及例子20141113_第5頁
已閱讀5頁,還剩78頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、2022-6-291MATLAB圖形與可視化圖形與可視化(Graphic) (1)掌握掌握圖形窗口圖形窗口的創(chuàng)建與控制,以及圖形窗口的的創(chuàng)建與控制,以及圖形窗口的基本操作基本操作;(2)熟練掌握)熟練掌握二維和三維繪圖基本的命令二維和三維繪圖基本的命令、線型控制;、線型控制;(3)初步掌握用)初步掌握用特殊的圖形特殊的圖形來表現(xiàn)特殊數(shù)據(jù)的性質(zhì),如面積圖、直方來表現(xiàn)特殊數(shù)據(jù)的性質(zhì),如面積圖、直方 圖、餅圖等。圖、餅圖等。 (4)掌握)掌握坐標軸的控制和圖形標注命令坐標軸的控制和圖形標注命令及其用法。及其用法。A A、二維平面圖形與坐標系、二維平面圖形與坐標系 1. 幾個基本的繪圖命令幾個基本的繪

2、圖命令 a. 線性坐標曲線線性坐標曲線 plot 函數(shù)命令函數(shù)命令 plot 是是 MATLAB 二維曲線繪圖中最簡單、最重二維曲線繪圖中最簡單、最重要、使用最廣泛的一個線性繪圖函數(shù)。它可以要、使用最廣泛的一個線性繪圖函數(shù)。它可以生成線段、生成線段、曲線和參數(shù)方程曲線曲線和參數(shù)方程曲線的函數(shù)圖形。的函數(shù)圖形。 命令格式命令格式: : plot(X,Y)plot(x1,y1,x2,y2,):綜合調(diào)用方式綜合調(diào)用方式 用命令用命令 plot(x,y)繪制函數(shù)繪制函數(shù) y=cos(x)在兩個周期內(nèi)的圖形。在兩個周期內(nèi)的圖形。 x=0:0.01:2*pi; y=cos(x); plot(x,y)在同一

3、圖形窗口中在同一圖形窗口中用命令用命令 plot(x,y)繪出正弦余弦函數(shù)的圖形。繪出正弦余弦函數(shù)的圖形。 x=0:0.01:2*pi; y=sin(x);cos(x); plot(x,y) 二維函數(shù)曲線專用命令二維函數(shù)曲線專用命令 fplotfplot用用plot繪圖在確定自變量的取值間隔時,一般采用繪圖在確定自變量的取值間隔時,一般采用平均間隔平均間隔,有時會因,有時會因某處某處 間距太大,而間距太大,而不能反映出函數(shù)的變化不能反映出函數(shù)的變化情況。情況。fplot是繪制函數(shù)是繪制函數(shù) y=f(x)圖形的專用命令圖形的專用命令,它的它的數(shù)據(jù)點是自適應(yīng)產(chǎn)生的數(shù)據(jù)點是自適應(yīng)產(chǎn)生的,對那些導(dǎo)數(shù)變

4、化較,對那些導(dǎo)數(shù)變化較大的函數(shù),用大的函數(shù),用 fplot 函數(shù)繪出的曲線比等分取點所畫出的曲線函數(shù)繪出的曲線比等分取點所畫出的曲線更加接近更加接近真實真實。fplot 函數(shù)命令的調(diào)用格式為:函數(shù)命令的調(diào)用格式為: X,Y=fplot(fun,lims) fun:函數(shù)名字符串;函數(shù)名字符串; lims:定義定義 x 的取值區(qū)間,的取值區(qū)間,lims=xmin,xmax; 二維函數(shù)曲線專用命令二維函數(shù)曲線專用命令 ezplot2.線型和顏色線型和顏色 plot 函數(shù)可以設(shè)置曲線的函數(shù)可以設(shè)置曲線的線段類型、定點標記和線段顏色線段類型、定點標記和線段顏色。 常用的線段、顏色與定點標記參數(shù)常用的線段

5、、顏色與定點標記參數(shù) 調(diào)用格式調(diào)用格式:plot(x,y,s) ,s 為類型說明參數(shù),是字符串。為類型說明參數(shù),是字符串。s 字符串字符串可以是三種類型的可以是三種類型的符號之一符號之一,也可以是線型與顏色和定點標記,也可以是線型與顏色和定點標記與顏色的與顏色的組合組合;如果如果沒有沒有 s 參數(shù)參數(shù),plot 將使用將使用缺省設(shè)置(實線,前七種顏色順序著色缺省設(shè)置(實線,前七種顏色順序著色)繪制曲線;)繪制曲線; 在當(dāng)前坐標系中繪圖時,每調(diào)入一次繪圖函數(shù),在當(dāng)前坐標系中繪圖時,每調(diào)入一次繪圖函數(shù),MATLAB將擦掉坐標將擦掉坐標系中已有的圖形對象??梢杂孟抵幸延械膱D形對象??梢杂?hold

6、on 命令命令在一個坐標系中在一個坐標系中增加新的圖增加新的圖形對象形對象。注意。注意MATLAB會根據(jù)新圖形的大小,重新改變坐標系的比例。會根據(jù)新圖形的大小,重新改變坐標系的比例。用不同的用不同的線型和標注線型和標注來繪制兩條曲線。來繪制兩條曲線。 t1=0:0.1:2*pi; t2=0:0.1:6; y1=sin(t1); y2=sqrt(t2); plot(t1,y1,:hb,t2,y2,-g) 3. 圖形窗口的分割圖形窗口的分割 有時需要在有時需要在一個圖形窗口中顯示幾幅圖一個圖形窗口中顯示幾幅圖,以便對幾個函數(shù)進行直觀、,以便對幾個函數(shù)進行直觀、便捷的比較。由于每個繪圖命令在繪制數(shù)據(jù)

7、圖像時都會將已有圖形覆便捷的比較。由于每個繪圖命令在繪制數(shù)據(jù)圖像時都會將已有圖形覆蓋掉,而用蓋掉,而用 hold 命令不能實現(xiàn)同時顯示幾個不同坐標尺寸下的圖形命令不能實現(xiàn)同時顯示幾個不同坐標尺寸下的圖形,用,用 figure 命令再創(chuàng)窗口又很難同時比較由不同的數(shù)據(jù)繪得的圖像。命令再創(chuàng)窗口又很難同時比較由不同的數(shù)據(jù)繪得的圖像。實現(xiàn)在實現(xiàn)在同一個窗口中同時顯示多個圖像同一個窗口中同時顯示多個圖像的命令的命令subplot。使用格式為:使用格式為: subplot(m,n,i)其含義為其含義為 :把圖形窗口分割為:把圖形窗口分割為 m 行行 n 列子窗口列子窗口,然后選,然后選定定第第 i 個窗口為

8、當(dāng)前窗口個窗口為當(dāng)前窗口。subplot 命令不僅用于命令不僅用于二維圖形二維圖形,對,對三維圖形三維圖形一樣適用。其本質(zhì)是將一樣適用。其本質(zhì)是將 figure 窗口分為幾個區(qū)域窗口分為幾個區(qū)域,再在每個區(qū)域內(nèi)分別繪圖。,再在每個區(qū)域內(nèi)分別繪圖。用用 subplot 函數(shù)函數(shù)把兩種不同的圖形綜合在一個圖形窗口中。把兩種不同的圖形綜合在一個圖形窗口中。 subplot(2,2,1) t=0.1:0.1:2*pi; y=sin(t); semilogx(t,y) grid on subplot(2,2,2) t=0:0.1:4*pi; y=sin(t); plot(t,y)subplot(2,2,

9、3) x=1:0.01:5; y=exp(x); plotyy(x,y,x,y,semilogx,plot) subplot(2,2,4) x=1:0.1:10; y=sqrt(x); plot(x,y,:rd) 4. 坐標系的調(diào)整坐標系的調(diào)整 實現(xiàn)坐標系的調(diào)整的命令是實現(xiàn)坐標系的調(diào)整的命令是 axis 函數(shù)。函數(shù)。 調(diào)用格式為:調(diào)用格式為: axis(xmin,xmax,ymin,ymax,zmin,zmax)坐標的最小值(坐標的最小值( xmin,ymin,zmin)必須小于相應(yīng)的最大值(必須小于相應(yīng)的最大值( xmax,ymax,zmax),),否則會出錯。否則會出錯。自動坐標系與用自動

10、坐標系與用 axis axis 函數(shù)函數(shù)調(diào)整后的坐標系的比較。調(diào)整后的坐標系的比較。 subplot(2,1,1) t=0:0.1:4*pi; y=sin(t); plot(t,y) subplot(2,1,2) t=0:0.1:4*pi; y=sin(t); plot(t,y) axis(0,max(t),min(y),max(y) B B、三維繪圖、三維繪圖 1. 1. 三維三維曲線曲線繪圖命令繪圖命令 三維函數(shù)三維函數(shù) plot3主要用來表現(xiàn)主要用來表現(xiàn)單參數(shù)的三維曲線單參數(shù)的三維曲線,與二維繪圖函數(shù),與二維繪圖函數(shù) plot 相比,只相比,只多了多了第三維數(shù)據(jù)第三維數(shù)據(jù)。其調(diào)用格式為:

11、其調(diào)用格式為: plot3(X1,Y1,Z1,s1,X2,Y2,Z2,s2,)參數(shù)的含義如下:參數(shù)的含義如下: Xn、Yn、Zn:第一到三維數(shù)據(jù),是第一到三維數(shù)據(jù),是尺寸相等的尺寸相等的向量向量/矩陣;矩陣;s、s1、s2:是是字符串字符串,用來設(shè)置,用來設(shè)置線型、顏色、數(shù)據(jù)點線型、顏色、數(shù)據(jù)點標記。標記。 x、y、z 是向量時,是向量時,plot3 命令的使用命令的使用t=0:0.1:8*pi; plot3(sin(t),cos(t),t)title(繪制螺旋線) %用命令用命令 title 對圖形主題進行標注對圖形主題進行標注 xlabel(sin(t),FontWeight,bold,F

12、ontAngle,italic) ylabel(cos(t),FontWeight,bold,FontAngle,italic) zlabel(t,FontWeight,bold,FontAngle,italic) %命令命令 zlabel 用來指定用來指定 z 軸的數(shù)據(jù)名稱軸的數(shù)據(jù)名稱 grid onx、y、z 都是矩陣時,都是矩陣時,plot3 命令的使用命令的使用X,Y=meshgrid(-pi:0.1:pi);Z=sin(X)+cos(Y); plot3(X,Y,Z) 為了繪制定義在平面區(qū)域為了繪制定義在平面區(qū)域 D =x0,xmD =x0,xmy0,yn y0,yn 上的上的三維曲面

13、三維曲面z=f(x,yz=f(x,y) ) ,首先將,首先將 x0,xmx0,xm在在 x x 方向分成方向分成 m m 份,將份,將 y0,yny0,yn在在 y y 方方向分成向分成 n n 份,由各劃點分別作平行于坐標軸的直線,將份,由各劃點分別作平行于坐標軸的直線,將區(qū)域區(qū)域 D D 分成分成 m mn n 個小矩形個小矩形;對于每個小矩形,計算出;對于每個小矩形,計算出網(wǎng)格點的函數(shù)值網(wǎng)格點的函數(shù)值,決定出空,決定出空間中四個頂點(間中四個頂點( xi,yi,f(xi,yi)xi,yi,f(xi,yi)),),連接四個頂點得到一個連接四個頂點得到一個空間的四空間的四邊形片邊形片;所有四

14、邊形片連在一起構(gòu)成函數(shù);所有四邊形片連在一起構(gòu)成函數(shù) z=f(x,y)z=f(x,y)定義在區(qū)域定義在區(qū)域 D D 上上的的空間網(wǎng)格曲面空間網(wǎng)格曲面。因此,三維曲面繪圖命令可分為因此,三維曲面繪圖命令可分為平面網(wǎng)格點的生成平面網(wǎng)格點的生成、在平面網(wǎng)格基礎(chǔ)、在平面網(wǎng)格基礎(chǔ)上上繪制三維網(wǎng)格繪制三維網(wǎng)格及對及對三維表面進行處理三維表面進行處理三個步驟。三個步驟。a.a.平面網(wǎng)格點的生成平面網(wǎng)格點的生成函數(shù)命令函數(shù)命令meshgrid 用來生成用來生成 x-y 平面上的網(wǎng)格點矩陣。平面上的網(wǎng)格點矩陣。調(diào)用形式為:調(diào)用形式為: X,Y=meshgrid(x,y) X,Y=meshgrid(x) 等價于等

15、價于X,Y=meshgrid(x,x) 參數(shù)含義如下:參數(shù)含義如下: x:是區(qū)間是區(qū)間x0,xm上分劃的向量;上分劃的向量; y:是區(qū)間是區(qū)間y0,yn上分劃的向量;上分劃的向量; X,Y:輸出變量矩陣,矩陣輸出變量矩陣,矩陣 X 的行向量都是向量的行向量都是向量 x,矩陣矩陣 Y 的列向的列向量都是向量量都是向量 y。 函數(shù)函數(shù) meshgrid 將將由兩個向量決定的區(qū)域轉(zhuǎn)換為對應(yīng)的網(wǎng)格點矩陣。由兩個向量決定的區(qū)域轉(zhuǎn)換為對應(yīng)的網(wǎng)格點矩陣。函數(shù)函數(shù) ,定義區(qū)域為,定義區(qū)域為-2,2-2,2。生成網(wǎng)格生成網(wǎng)格并并計算其網(wǎng)格點上的函數(shù)值。計算其網(wǎng)格點上的函數(shù)值。X,Y = meshgrid(-2:

16、2:2, -2:2:2); X,Y %將劃分結(jié)果輸出至矩陣將劃分結(jié)果輸出至矩陣 ans = -2 0 2 -2 -2 -2 -2 0 2 0 0 0 -2 0 2 2 2 2 Z = X .* exp(-X.2 - Y.2); %計算網(wǎng)格點上的函數(shù)值賦予變量計算網(wǎng)格點上的函數(shù)值賦予變量 Z Z = -0.0007 0 0.0007 -0.0366 0 0.0366 -0.0007 0 0.000722yxexz利用利用函數(shù)函數(shù)mesh生成網(wǎng)格曲面。生成網(wǎng)格曲面。調(diào)用格式為:調(diào)用格式為:mesh(X,Y,Z,C):X、Y、Z、C 是同維數(shù)的矩陣,是同維數(shù)的矩陣,X、Y、Z 對對應(yīng)空間上的網(wǎng)格點,

17、網(wǎng)格線顏色由應(yīng)空間上的網(wǎng)格點,網(wǎng)格線顏色由C決定;決定;mesh(X,Y,Z):相當(dāng)于上面的相當(dāng)于上面的 C=Z 的情況;的情況; mesh(x,y,Z,C):x 和和 y 是向量,是向量,Z 和和 C 是同維數(shù)的矩陣,網(wǎng)格是同維數(shù)的矩陣,網(wǎng)格曲面的網(wǎng)格頂點是(曲面的網(wǎng)格頂點是( x(j),y(i),Z(i,j)),),網(wǎng)格線的顏色由矩陣網(wǎng)格線的顏色由矩陣 C 決決定;定; mesh(x,y,Z):相當(dāng)于上面的相當(dāng)于上面的 C=Z 的情況;的情況; mesh(Z,C):等價于等價于 mesh(x,y,Z,C),此時向量此時向量x=1:n,向量向量 y=1:m; mesh(Z):相當(dāng)于上面的相當(dāng)

18、于上面的 C=Z 的情況的情況mesh(.,PropertyName,PropertyValue,.):給函給函mesh設(shè)置曲面屬性設(shè)置曲面屬性。用用 mesh 命令繪制上例中的網(wǎng)格曲面。命令繪制上例中的網(wǎng)格曲面。 X,Y = meshgrid(-2:.2:2, -2:.2:2); Z = X .* exp(-X.2 - Y.2); mesh(Z) 與與 mesh 相關(guān)的相關(guān)的另外兩個函數(shù)是另外兩個函數(shù)是 meshc(網(wǎng)格加網(wǎng)格加等值線等值線)和和meshz(含零平含零平面的網(wǎng)格圖面的網(wǎng)格圖),它們的調(diào)用形式它們的調(diào)用形式與與 mesh 相同。相同。 1. view 改變視角 缺省視角:30/

19、-37.5 二維:90/0 rotate3d 2. meshgrid z=f(x,y); 3. 消隱 hidden on /off 4.曲面圖處理: 插值平滑顏色: shading flat/interp 開洞 nan三維圖形 動態(tài)圖形 方法: moviein 建立存放矩陣 m=moviein(N) getframe 獲取圖形 m(:,i)=getframe; movie 順序回放 movie(m);函數(shù)函數(shù) surf 可實現(xiàn)可實現(xiàn)對網(wǎng)格曲面片進行著色對網(wǎng)格曲面片進行著色,將網(wǎng)格曲面轉(zhuǎn)化,將網(wǎng)格曲面轉(zhuǎn)化為為實曲面實曲面。surf 命令的調(diào)用格式與命令的調(diào)用格式與 mesh 相同相同。利用三維網(wǎng)

20、格表面命令利用三維網(wǎng)格表面命令 surf 繪制圖形。繪制圖形。 z=peaks; %繪制山峰的圖像,將函數(shù)值賦予變量繪制山峰的圖像,將函數(shù)值賦予變量z surf(z) %對山峰的圖像進行著色處理對山峰的圖像進行著色處理shading interp %函數(shù)函數(shù) shading 改變著色方式改變著色方式 3.等高線圖形的繪制等高線圖形的繪制 4.三維視圖可視效果的控制三維視圖可視效果的控制5.柱面和球面的三維表達柱面和球面的三維表達(書書)a.柱面的表達柱面的表達cylinder cylinder命令中,命令中,柱面的軸線定義為柱面的軸線定義為 z 軸軸,只要給出,只要給出母線母線的描述就可完的描

21、述就可完成一個柱面。成一個柱面。 調(diào)用格式為:調(diào)用格式為: X,Y,Z = cylinder(R,N)X,Y,Z = cylinder(R,N); X,Y,Z = cylinder(R)X,Y,Z = cylinder(R):缺省值缺省值 N=20N=20; X,Y,Z = cylinderX,Y,Z = cylinder:缺省值缺省值 N=20N=20,R=1R=1,11。 R R:是一描述柱面母線的向量;是一描述柱面母線的向量;N N:是旋轉(zhuǎn)柱面上的分割線條數(shù);是旋轉(zhuǎn)柱面上的分割線條數(shù); X X,Y Y,Z Z :是返回的是返回的x x,y y,z z坐標向量。坐標向量。 繪制一個柱面。繪

22、制一個柱面。 t=pi:0.01:3*pi; r=sin(t)+t; cylinder(r,30) shading interpb.球面的表達球面的表達sphere 調(diào)用格式為:調(diào)用格式為: X,Y,Z=sphere(N):產(chǎn)生一個(產(chǎn)生一個( N+1)()( N+1)的矩陣的矩陣,然后用函數(shù),然后用函數(shù) surf 命令繪制一個命令繪制一個單位的球面,單位的球面,N 為設(shè)置分割為設(shè)置分割線的條數(shù)線的條數(shù); X,Y,Z = sphere:缺省缺省值值 N = 20。畫一個球面。畫一個球面。 X,Y,Z=sphere; surf(X,Y,Z)為了將抽象的數(shù)據(jù)表達得更形象,除了繪制為了將抽象的數(shù)據(jù)表

23、達得更形象,除了繪制二維、三維二維、三維圖圖形外,還要用到形外,還要用到直方圖、面積圖、餅圖直方圖、面積圖、餅圖等特殊圖形。等特殊圖形。特殊圖形指令特殊圖形指令 1.1.面積圖命令面積圖命令 area 表現(xiàn)各個不同部分對整體所作的貢獻表現(xiàn)各個不同部分對整體所作的貢獻 area(X,Y):與與 plot 的命令的使用方法相似,的命令的使用方法相似,將連線圖將連線圖到到 x 軸軸的那部分填上了顏色;的那部分填上了顏色; area(Y):缺省值缺省值 X=1:SIZE(Y); area(X,Y,LEVEL)或或 area(Y,LEVEL):填色部分為填色部分為由連由連線圖到線圖到 y=level 的

24、水平線的水平線之間的部分。之間的部分。繪制一面積圖繪制一面積圖 X=-2:2; Y=3,5,2,4,1;5,4,2,3,5;3,4,5,2,1; area(X,Y) legend(因素 1,因素 2,因素 3) grid on2.2.直方圖命令直方圖命令 bar 直方圖常用于統(tǒng)計數(shù)據(jù)的作圖,直方圖常用于統(tǒng)計數(shù)據(jù)的作圖, 有有bar、bar3、barh 和和 bar3h幾種函數(shù),其調(diào)用格式類似。幾種函數(shù),其調(diào)用格式類似。以函數(shù)以函數(shù) bar 為例:為例: bar(X,Y):X 是橫坐標向量,是橫坐標向量,Y 可以是向量或矩陣可以是向量或矩陣。Y 是是向量向量時,每時,每一個元素對應(yīng)一個豎條;一個

25、元素對應(yīng)一個豎條;Y 是是 m 行行 n 列列矩陣矩陣時,將畫出時,將畫出 m 組豎條,組豎條,每組包括每組包括 n 個豎條;個豎條; bar(Y):橫坐標使用缺省值橫坐標使用缺省值 X=1:M; bar(X,Y,WIDTH) 或或 bar(Y,WIDTH):用用 WIDTH 指定指定豎條的寬度豎條的寬度,如果如果 WIDTH1,條與條之間將重合。條與條之間將重合。缺省寬度為缺省寬度為 0.8; bar(.,grouped):產(chǎn)生缺省的產(chǎn)生缺省的組合組合直方圖;直方圖; bar(.,stacked):產(chǎn)生產(chǎn)生累積的累積的直方圖;直方圖; bar(.,linespec):指定指定條的顏色條的顏色

26、;H = bar(.):返回條形圖對象的返回條形圖對象的句柄句柄。 用繪制直方圖的幾種命令繪制直方圖用繪制直方圖的幾種命令繪制直方圖。X=-2:2; Y=3,5,2,4,1;5,4,2,3,5;3,4,5,2,1; subplot(2,2,1) bar(X,Y,r) xlabel(x)ylabel(y) colormap(cool) subplot(2,2,2) barh(X,Y,grouped) xlabel(y) ylabel(x) colormap(cool) subplot(2,2,3) bar(X,Y,stacked) xlabel(x) ylabel(Sigma y) colorm

27、ap(summer) subplot(2,2,4) barh(X,Y,stacked) xlabel(y);ylabel(Sigma x) colormap(summer)繪制三維直方圖。繪制三維直方圖。X=-2:2; Y=3,5,2,4,1;5,4,2,3,5;3,4,5,2,1; subplot(2,2,1) bar3(X,Y,r) zlabel(y) ylabel(x) colormap(cool) subplot(2,2,2) bar3h(X,Y,grouped) ylabel(x) zlabel(y) colormap(cool) subplot(2,2,3) bar3(X,Y,st

28、acked) ylabel(x) zlabel(Sigma y) colormap(summer) subplot(2,2,4) bar3h(X,Y,stacked) zlabel(x) ylabel(Sigma y) colormap(summer)3.3.餅圖命令餅圖命令 pie 餅圖又叫餅圖又叫扇形圖扇形圖,用于,用于顯示向量中元素所占向量元素總和顯示向量中元素所占向量元素總和的百分比的百分比。 pie 和和 pie3分別用于繪制二維和三維餅圖。分別用于繪制二維和三維餅圖。調(diào)用格式:調(diào)用格式: pie(X)pie(X):向量向量 X X 的餅圖。把的餅圖。把 X X 的每一個元素在所有元

29、的每一個元素在所有元素總和中占的比例表達出來;素總和中占的比例表達出來; pie(X,EXPLODE):向量向量EXPLODE(和向量和向量X長度相等長度相等)用于指定餅圖中)用于指定餅圖中抽出一部分的塊抽出一部分的塊(非零值對應(yīng)的塊非零值對應(yīng)的塊););pie(.,LABELS):LABELS 是用于是用于標注標注餅圖的字符串?dāng)?shù)餅圖的字符串?dāng)?shù)組,其長度必須和向量組,其長度必須和向量 X相等;相等; H = pie(.):返回包括返回包括餅圖餅圖和文本對象和文本對象句柄句柄。 用函數(shù)用函數(shù) pie 和和 pie3 繪制餅圖。繪制餅圖。x=200,360,120,400,320; subplot

30、(2,2,1),pie(x,0 0 0 1 0) subplot(2,2,2),pie3(x,0 0 0 1 0) subplot(2,2,3),pie(x(2:5) subplot(2,2,4), x=0.1,0.12,0.21,0.34,0.11;pie3(x ,A,B,C,D,E)五、極坐標、柱坐標和球坐標系下繪制圖形五、極坐標、柱坐標和球坐標系下繪制圖形1.1.極坐標系下繪制圖形極坐標系下繪制圖形 ploar是直接在極坐標系下繪圖的命令是直接在極坐標系下繪圖的命令調(diào)用格式為:調(diào)用格式為: ploar(THETA, RHO,S)其中其中 S 是字符串,用來控制圖形的線型。是字符串,用來控

31、制圖形的線型。繪制半徑為繪制半徑為 2 的漸開線。的漸開線。 rhe=2; theta=0:pi/20:4*pi; rho=rhe+theta*rhe; polar(theta,rho,r) 六、坐標軸的調(diào)整和圖形的標注六、坐標軸的調(diào)整和圖形的標注1.1.坐標軸坐標軸調(diào)整調(diào)整命令命令坐標軸和圖形標題標注坐標軸和圖形標題標注 標注標注坐標軸坐標軸 x、y 和和 z 的命令函數(shù)為的命令函數(shù)為 xlabel、ylabel 和和 zlabel ,調(diào)用格式為:調(diào)用格式為:xlabel(text) xlabel(text,Property1,PropertyValue1,Property2,Propert

32、yValue2,.)H = xlabel(.) 返回坐標軸標注的返回坐標軸標注的句柄。句柄。其中,其中,text是要添加的標注文本。是要添加的標注文本。Property是文本的是文本的屬性名,屬性名,PropertyValue是屬性值(所用字體、大小、標是屬性值(所用字體、大小、標注角度等)。注角度等)。a.a.圖形加圖形加標題標題的函數(shù)為的函數(shù)為 title,其調(diào)用格式與坐標軸標注類似其調(diào)用格式與坐標軸標注類似。legend命令命令實現(xiàn)不同圖例的說明。其調(diào)用格式為:實現(xiàn)不同圖例的說明。其調(diào)用格式為: legend(string1,string2,string3, .) legend(stri

33、ng1,string2,string3,.,Pos) 按順序按順序把把字符串字符串添加到相應(yīng)的曲線添加到相應(yīng)的曲線線型符號線型符號之后;之后;Pos對圖對圖例的位置作出設(shè)置和調(diào)整:例的位置作出設(shè)置和調(diào)整: 0 = 自動把圖例置于自動把圖例置于最佳位置最佳位置( 和圖中曲線重復(fù)最少);和圖中曲線重復(fù)最少); 1 = 置于圖形窗口的置于圖形窗口的右上角右上角( 缺省值);缺省值); 2 = 置于圖形窗口的置于圖形窗口的左上角左上角; 3 = 置于圖形窗口的置于圖形窗口的左下角左下角; 4 = 置于圖形窗口的置于圖形窗口的右下角右下角; -1 = 置于圖形窗口的置于圖形窗口的右側(cè)(右側(cè)( 外部外部)

34、。)。 3. 3. 控制分格線控制分格線對二維和三維圖形都適用。對二維和三維圖形都適用。有三種用法:有三種用法: grid on:打開打開分格線控制開關(guān),以后繪制的圖形都帶分格線控制開關(guān),以后繪制的圖形都帶有分格線;有分格線; grid off:關(guān)閉關(guān)閉分格線控制開關(guān),以后繪制的圖形都不分格線控制開關(guān),以后繪制的圖形都不帶分格線;帶分格線; grid:用于用于實現(xiàn)分格線繪制切換實現(xiàn)分格線繪制切換。繪制圖形,并用函數(shù)繪制圖形,并用函數(shù) xlabelxlabel、title title 和和 legend legend 命令進行標注。命令進行標注。t=0:0.1:4*pi; y=sin(t); y

35、1=cos(t); plot(t,y,:,t,y1,r*) xlabel(x 軸 (0-4pi),fontsize,12,fontweight,bold) ylabel(y 軸,fontsize,12,fontweight,bold) title(繪制正弦波和余弦波 Pos=1,fontsize,10,fontweight,bold,fontangle,italic) text(pi,0,leftarrowsin(pi)=0) text(pi,-1,leftarrowcos(pi)=-1)text(pi/2,0.9,uparrowsin(pi/2)=,num2str(sin(pi/2) tex

36、t(0,-0.6,繪圖日期:,date) text(0,-0.8,MATLAB 版本:,version) legend(正弦波,余弦波) figure(2) plot(t,y,:,t,y1,r*) title(繪制正弦波和余弦波 Pos=0,fontsize,10,fontweight,bold,fontangle,italic) legend(正弦波,余弦波,0) grid on figure(3) plot(t,y,:,t,y1,r*) title(繪制正弦波和余弦波 Pos=-1,fontsize,10,fontweight,bold,fontangle,italic) text(7*p

37、i/2,0,rightarrowcos(pi*7/2)=0) legend(正弦波,余弦波,-1) grid off 復(fù)習(xí)復(fù)習(xí)(例題(例題) ) 編程基礎(chǔ)編程基礎(chǔ)1 1、編寫一個求圓形面積的通用函數(shù)、編寫一個求圓形面積的通用函數(shù) 2 2、求方程組通解:、求方程組通解:0 x8x9x5x4x4x3xx31xx3xx432143214321A=1 1 -3 -1;3 -1 -3 4;1 5 -9 -8;b=1 4 0;B=A b;n=4;R_A=rank(A)R_B=rank(B)format ratif R_A=R_B&R_A=n X=Abelseif R_A=R_B&R_Aa=0.5;b=1;

38、f=inline(x(1/2); % %梯形公式梯形公式I1=(b-a)/2*(feval(f,a)+feval(f,b)I1 = 0.426776695296637% %simpson公式公式I2=(b-a)/6*(feval(f,a)+4*feval(f,(a+b)/2)+feval(f,b)I2 = 0.430934033027025%C%Cotes公式公式(n=4)tc=0;C0=7 32 12 32 7;for i=0:4 tc=tc+C0(i+1)*feval(f,a+i*(b-a)/4);endI3=(b-a)/90*tc I3 = 0.430964070495876 %準確值準

39、確值I=int(char(f),a,b)vpa(I) I =-1/6*2(1/2)+2/3ans =0.4309644062711508251997 2 2、積分運算:、積分運算: , ,利用變步長方法求其近似值利用變步長方法求其近似值,使使其精度達到其精度達到. .利用變步長法前先建立三種變步長復(fù)化積分公式的利用變步長法前先建立三種變步長復(fù)化積分公式的函數(shù)函數(shù). 注意在注意在Matlab中直接用中直接用sin(0)/0得不到得不到1。因此解此題時我們改用求極限的方法得到函數(shù)值因此解此題時我們改用求極限的方法得到函數(shù)值,此函數(shù)名為此函數(shù)名為limit(). . .復(fù)化梯形公式復(fù)化梯形公式tra

40、p.m function T=trap(f,a,b,n)%trap.m% %復(fù)化梯形公式求積分值復(fù)化梯形公式求積分值%f%f為積分函數(shù)為積分函數(shù)%a,b%a,b為積分區(qū)間為積分區(qū)間%n%n是等分區(qū)間份數(shù)是等分區(qū)間份數(shù) h=(b-a)/n;%h=(b-a)/n;%步長步長T=0;for k=1:(n-1) x0=a+h*k; T=T+limit(f,x0);endT=h*(limit(f,a)+limit(f,b)/2+h*T;T=double(T);復(fù)化復(fù)化simpsomsimpsom公式公式simpson.m:simpson.m: function S=simpson(f,a,b,n)%si

41、mpson.m%Simpson%Simpson公式求積分值公式求積分值%f%f為積分函數(shù)為積分函數(shù)%a,b%a,b為積分區(qū)間為積分區(qū)間%n%n是等分區(qū)間份數(shù)是等分區(qū)間份數(shù) h=(b-a)/(2h=(b-a)/(2* *n);%n);%步長步長s1=0;s2=0;for k=1:n x0=a+h*(2*k-1); s1=s1+limit(f,x0);endfor k=1:(n-1) x0=a+h*2*k; s2=s2+limit(f,x0);endS=h*(limit(f,a)+limit(f,b)+4*s1+2*s2)/3;S=double(S);. .復(fù)化公式復(fù)化公式cotes.m:func

42、tion C=cote(f,a,b,n)%cote.m%復(fù)化復(fù)化cotes公式求積分值公式求積分值%f為積分函數(shù)為積分函數(shù)%a,b為積分區(qū)間為積分區(qū)間%n是等分區(qū)間份數(shù)是等分區(qū)間份數(shù)h=(b-a)/n;%步長步長C=0;for i=1:(n-1) x0=a+i*h; C=C+14*limit(f,x0);endfor k=0:(n-1) x0=a+h*k;s=32*limit(f,x0+h*1/4)+12*limit(f,x0+h*1/2)+3. 2*limit(f,x0+h*3/4); C=C+s;endC=C+7*(limit(f,a)+limit(f,b);C=C*h/90;C=doub

43、le(C);再編寫主程序調(diào)用這三個函數(shù)再編寫主程序調(diào)用這三個函數(shù),主程序名為主程序名為ex8_3.m, ,源程序如下源程序如下: clc;syms x;f=sym(sin(x)/x);a=0;b=1;% %積分上下限積分上下限n=20;% %作作1,2,3,20,20次區(qū)間等分次區(qū)間等分% %復(fù)化梯形公式復(fù)化梯形公式T=zeros(n,1);for i=1:n T(i)=trap(f,a,b,i);end% %復(fù)化復(fù)化Simpson公式公式;S=zeros(n,1);for i=1:n S(i)=simpson(f,a,b,i);end% %復(fù)化復(fù)化Cotes公式公式C=zeros(n,1);

44、for i=1:n C(i)=cote(f,a,b,i);end% %準確值準確值I=int(f,a,b);I=double(I);. .024681012141618200.920.9250.930.9350.940.9450.950.955三 種 復(fù) 化 公 式 積 分 效 果 對 比 圖 準 確 值 曲 線復(fù) 化 梯 形 公 式復(fù) 化 Simpson公 式復(fù) 化 Cotes公 式% %畫圖作出直觀觀察畫圖作出直觀觀察x=;x=1:n;figure;plot(x,ones(1,n)*I,-);hold on;plot(x,T,r-,LineWidth,2);plot(x,S,m.-,Lin

45、eWidth,1);plot(x,C,c:,LineWidth,1.5);grid on;title(title(三種復(fù)化公式積分效果對比圖三種復(fù)化公式積分效果對比圖);legend(legend(準確值曲線準確值曲線,復(fù)化梯形公式復(fù)化梯形公式,. 復(fù)化復(fù)化Simpson公式公式,復(fù)化復(fù)化Cotes公式公式);hold off;disp( disp( 復(fù)化梯形公式復(fù)化梯形公式 . 復(fù)化復(fù)化Simpson公式公式 復(fù)化復(fù)化Cotes公式公式);disp(T S C);. . 4 4、導(dǎo)數(shù)運算:、導(dǎo)數(shù)運算:已知,采用diff和gradient計算該函數(shù)在區(qū)間 中的近似導(dǎo)函數(shù). .clfd=pi/1

46、00;t=0:d:2*pi;x=sin(t);dxdt_diff=diff(x)/d;dxdt_grad=gradient(x)/d;subplot(1,2,1)plot(t,x,b)hold onplot(t,dxdt_grad,m,LineWidth,8)plot(t(1:end-1),dxdt_diff,.k,MarkerSize,8)axis(0,2*pi,-1.1,1.1)title(0, 2pi)legend(x(t),dxdt_grad,dxdt_diff,Location,North)xlabel(t),box offhold offsubplot(1,2,2)kk=(leng

47、th(t)-10):length(t);hold onplot(t(kk),dxdt_grad(kk),om,MarkerSize,8)plot(t(kk-1),dxdt_diff(kk-1),.k,MarkerSize,8)title(end-10, end)legend(dxdt_grad,dxdt_diff,Location,SouthEast)xlabel(t),box off,hold off . . . .q FIR低通濾波器截至頻率為200Hz,采樣頻率Fs=1000Hz,對信號x(t)=sin(2*pi*f1*t)+sin(2*pi*f2*t)濾波,f1=50Hz,f2=250

48、Hz,求濾波器輸出。q用matlab編程,首先用函數(shù)firl產(chǎn)生截至頻率為200Hz的FIR低通濾波器,再用fftfilt對信號x進行濾波。. . MATLAB符號運算符號運算(Symbolic)q 在進行符號運算時,必須先定義基本的符號對象,可以是符號常量、符號變量、符號表達式等。符號對象是一種數(shù)據(jù)結(jié)構(gòu)。符號對象與符號表達式q 含有符號對象的表達式稱為符號表達式,Matlab 在內(nèi)部把符號表達式表示成字符串,以與數(shù)字變量或運算相區(qū)別。q 符號矩陣/數(shù)組:元素為符號表達式的矩陣/數(shù)組。u sym 函數(shù)用來建立單個符號變量,一般調(diào)用格式為:q 符號對象的建立:符號對象的建立:sym 和和 sym

49、s符號對象的建立例: a=sym(a) 符號變量 = sym(A)參數(shù) A 可以是一個數(shù)或數(shù)值矩陣,也可以是字符串a(chǎn) 是符號變量b 是符號常量 b=sym(1/3)C 是符號矩陣 C=sym(1 ab; c d)q 符號對象的建立:符號對象的建立:sym 和和 syms符號對象的建立u syms 命令用來建立多個符號變量,一般調(diào)用格式為:syms 符號變量符號變量1 符號變量符號變量2 . 符號變量符號變量n 例: syms a b c a=sym(a); b=sym(b); c=sym(c);q 符號表達式的建立:符號表達式的建立:例:建立符號表達式通常有以下2種方法:(1) 用 sym 函

50、數(shù)直接建立符號表達式。(2) 使用已經(jīng)定義的符號變量組成符號表達式。 y=sym(sin(x)+cos(x) x=sym(x); y=sin(x)+cos(x)符號表達式的建立 syms x; y=sin(x)+cos(x)Matlab 符號運算采用的運算符和基本函數(shù),在形狀、名稱和使用上,都與數(shù)值計算中的運算符和基本函數(shù)完全相同符號對象的基本運算q 基本運算符基本運算符u 普通運算:+ - * / u 數(shù)組運算:.* . ./ .u 矩陣轉(zhuǎn)置: .例: X=sym(x11,x12;x21,x22;x31,x32); Y=sym(y11,y12,y13;y21,y22,y23); Z1=X*Y

51、; Z2=X.*Y;符號對象的基本運算三角函數(shù)與反三角函數(shù)、指數(shù)函數(shù)、對數(shù)函數(shù)等q 基本函數(shù)基本函數(shù)q 查找符號表達式中的符號變量查找符號表達式中的符號變量若表達式中有兩個符號變量與 x 的距離相等,則ASCII 碼大者優(yōu)先。查找符號變量findsym(expr)按字母順序列出符號表達式 expr 中的所有符號變量findsym(expr, N)按順序列出 expr 中離 x 最近的 N 個符號變量常量 pi, i, j 不作為符號變量例: f=sym(2*w-3*y+z2+5*a) findsym(f) findsym(f,3) findsym(f,1)findsym 舉例符號表達式的替換s

52、ubs(f,x,a) 用用 a 替換字符函數(shù)替換字符函數(shù) f 中的字符變量中的字符變量 x a 是可以是是可以是 數(shù)數(shù)/數(shù)值變量數(shù)值變量/表達式表達式 或或 字符變量字符變量/表達式表達式若 x 是一個由多個字符變量組成的數(shù)組或矩陣,則 a 應(yīng)該具有與 x 相同的形狀的數(shù)組或矩陣。q 用給定的用給定的數(shù)據(jù)數(shù)據(jù)替換符號表達式中的指定的替換符號表達式中的指定的符號變量符號變量subs 舉例 f=sym(2*u); subs(f,u,2) f2=subs(f,u,u+2) a=3; subs(f2,u,a+2) subs(f2,u,a+2) syms x y f3=subs(f,u,x+y) sub

53、s(f3,x,y,1,2)ans=4f2=2*(u+2)ans=14ans=2*(a+2)+2)f3=2*x+2*yans=6u 例:指出下面各條語句的輸出結(jié)例:指出下面各條語句的輸出結(jié)果果f=2*u六類常見符號運算六類常見符號運算q 因式分解、展開、合并、簡化及通分等因式分解、展開、合并、簡化及通分等q 計算極限計算極限q 計算導(dǎo)數(shù)計算導(dǎo)數(shù)q 計算積分計算積分q 符號求和符號求和q 代數(shù)方程和微分方程求解代數(shù)方程和微分方程求解因式分解u 因式分解factor(f) syms x; f=x6+1; factor(f)l factor 也可用于正整數(shù)的分解 s=factor(100) facto

54、r(sym(12345678901234567890)l 大整數(shù)的分解要轉(zhuǎn)化成符號常量大整數(shù)的分解要轉(zhuǎn)化成符號常量函數(shù)展開u 函數(shù)展開expand(f) syms x; f=(x+1)6; expand(f)l 多項式展開l 三角函數(shù)展開 syms x y; f=sin(x+y); expand(f)合并同類項u 合并同類項collect(f,v): 按指定變量按指定變量 v 進行合并進行合并collect(f): 按按默認默認變量變量進行合并進行合并 syms x y; f= x2*y + y*x - x2 + 2*x ; collect(f) collect(f,y)函數(shù)簡化u 函數(shù)簡化y

55、=simple(f): 對對 f 嘗試多種不同的算法嘗試多種不同的算法進行進行簡化簡化,返回其中最簡短的形式,返回其中最簡短的形式How,y=simple(f): y 為為 f 的的最簡短形式最簡短形式,How 中記錄的為簡化過程中使用的方法。中記錄的為簡化過程中使用的方法。函數(shù)簡化u 函數(shù)簡化y=simplify(f): 對對 f 進行簡化進行簡化 syms x; f=sin(x)2 + cos(x)2 ; simplify(f) syms c alpha beta; f=exp(c*log(sqrt(alpha+beta); simplify(f)函數(shù)簡化舉例 syms x; f=(1/x

56、3+6/x2+12/x+8)(1/3); y1=simplify(f) g1=simple(f) g2=simple(g1)l 多次使用多次使用 simple 可以達到最簡表達??梢赃_到最簡表達。32381261)(xxxxf例:簡化分式通分u 函數(shù)簡化N,D=numden(f): N 為通分后的分子,為通分后的分子,D 為通分后的分母為通分后的分母 syms x y; f=x/y+y/x; N,D=numden(f) n,d=numden(sym(112/1024)horner 多項式u horner 多項式:嵌套形式的多項式 syms x; f=x4+2*x3+4*x2+x+1; g=horner(f)1) 1) 1( 1)(1xxxxxxxxfnn例:例:計算極限limit(f,x,a): 計算計算limit(f,a): 當(dāng)當(dāng)默認變量默認變量趨向于趨向于 a 時的極限時的極限limit(f): 計算計算 a=0 時的極限時的極限limit(f,x,a,right): 計算右極限計算右極限limit(f,x,a,left): 計算左極限計算左極限lim( )xaf x例:計算 ,hxhxLh)ln()ln(lim

溫馨提示

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

評論

0/150

提交評論