MATLAB經(jīng)典教程(全)PPT課件_第1頁
MATLAB經(jīng)典教程(全)PPT課件_第2頁
MATLAB經(jīng)典教程(全)PPT課件_第3頁
MATLAB經(jīng)典教程(全)PPT課件_第4頁
MATLAB經(jīng)典教程(全)PPT課件_第5頁
已閱讀5頁,還剩188頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、1,MATLAB基礎(chǔ)講解,DEP.MathphyofJUSTWangChengyi,2,MATLAB,1MATLAB簡介,3,Matlab簡介,在歐美各高等院校,Matlab已經(jīng)成為線性代數(shù)、數(shù)值分析、數(shù)理統(tǒng)計(jì)、自動(dòng)控制理論、數(shù)字信號(hào)處理、時(shí)間序列分析、動(dòng)態(tài)系統(tǒng)仿真、圖像處理等課程的基本教學(xué)工具,已成為大學(xué)生必須掌握的基本技能之一。Matlab功能強(qiáng)大、簡單易學(xué)、編程效率高,深受廣大科技工作者的歡迎。,Matlab是一種廣泛應(yīng)用于工程計(jì)算及數(shù)值分析領(lǐng)域的新型高級(jí)語言,自1984年推向市場以來,歷經(jīng)二十多年的發(fā)展與競爭,現(xiàn)已成為國際公認(rèn)的最優(yōu)秀的工程應(yīng)用開發(fā)環(huán)境。,4,Matlab簡介,Matl

2、ab:MatrixLaboratory矩陣實(shí)驗(yàn)室,Matlab的發(fā)展,1980年,Moler教授用Fortran語言編寫了集命令翻譯、科學(xué)計(jì)算于一身的一套交互式軟件系統(tǒng)。,1984年,Moler等成立了TheMathWorks的公司,用C語言完全改寫Matlab,并推出第一個(gè)商業(yè)版。,增添圖形圖像處理、符號(hào)運(yùn)算、以及與其他流行軟件的接口功能,使得Matlab的功能越來越強(qiáng)大。,到九十年代,在國際上30幾個(gè)數(shù)學(xué)類科技應(yīng)用軟件中,Matlab在數(shù)值計(jì)算方面獨(dú)占鰲頭。,5,目前,Matlab已成為世界頂尖的數(shù)學(xué)應(yīng)用軟件,以其強(qiáng)大的工程計(jì)算、算法研究、工程繪圖、應(yīng)用程序開發(fā)、數(shù)據(jù)分析和動(dòng)態(tài)仿真等功能,

3、在航空航天、機(jī)械制造和工程建筑等領(lǐng)域發(fā)揮著越來越重要的作用。就影響而言,至今仍然沒有一個(gè)別的計(jì)算軟件可與Matlab匹敵。,Matlab的發(fā)行,1984年,Matlab1.0(DOS版,182K,20多個(gè)函數(shù))1992年,Matlab4.0(93年推出Windows版,加入simulink)1994年,Matlab4.2(得到廣泛重視和應(yīng)用)1999年,Matlab5.3(真正實(shí)現(xiàn)32位運(yùn)算)2002年,Matlab6.5(采用JIT加速器)2004年,Matlab7.0自2006年起,Matlab每年更新兩次,Matlab簡介,6,購買(下載)Matlab軟件,Matlab的安裝,插入光盤,

4、自動(dòng)運(yùn)行;或點(diǎn)擊安裝程序setup.exe,必須安裝的部件MatlabSymbolicMathToolboxExtendedSymbolicMath,這里以Matlab7.0.4為例自R2008a開始增加了激活要求,7,Matlab的特點(diǎn)與功能,Matlab具有很強(qiáng)的數(shù)值計(jì)算功能,Matlab以矩陣作為數(shù)據(jù)操作的基本單位,但無需預(yù)先指定矩陣維數(shù)(動(dòng)態(tài)定維),按照IEEE的數(shù)值計(jì)算標(biāo)準(zhǔn)進(jìn)行計(jì)算,提供十分豐富的數(shù)值計(jì)算函數(shù),方便計(jì)算,提高效率,Matlab命令與數(shù)學(xué)中的符號(hào)、公式非常接近,可讀性強(qiáng),容易掌握,Matlab是一個(gè)交互式軟件系統(tǒng),輸入一條命令,立即就可以得出該命令的結(jié)果,8,Matla

5、b的特點(diǎn)與功能,Matlab符號(hào)計(jì)算功能,Matlab和著名的符號(hào)計(jì)算語言Maple相結(jié)合,Matlab的編程功能,Matlab具有程序結(jié)構(gòu)控制、函數(shù)調(diào)用、數(shù)據(jù)結(jié)構(gòu)、輸入輸出、面向?qū)ο蟮瘸绦蛘Z言特征,而且簡單易學(xué)、編程效率高。通過Matlab進(jìn)行編程完成特定的任務(wù),Matlab的繪圖功能,Matlab提供豐富的繪圖命令,很方便實(shí)現(xiàn)數(shù)據(jù)的可視化,9,Matlab豐富的工具箱(toolbox),Matlab的特點(diǎn)與功能,根據(jù)專門領(lǐng)域中的特殊需要而設(shè)計(jì)的各種可選工具箱,Matlab的Simulink動(dòng)態(tài)仿真集成環(huán)境,提供建立系統(tǒng)模型、選擇仿真參數(shù)和數(shù)值算法、啟動(dòng)仿真程序?qū)υ撓到y(tǒng)進(jìn)行仿真、設(shè)置不同的輸

6、出方式來觀察仿真結(jié)果等功能,10,Matlab的基本用法,Matlab系統(tǒng)的啟動(dòng),使用Windows“開始”菜單運(yùn)行Matlab系統(tǒng)啟動(dòng)程序matlab雙擊Matlab快捷圖標(biāo),Matlab系統(tǒng)的退出,在Matlab主窗口File菜單中選擇ExitMatlab在Matlab命令窗口輸入exit或quit單擊Matlab主窗口的“關(guān)閉”按鈕,11,Matlab的工作界面,命令窗口,當(dāng)前工作目錄,當(dāng)前工作空間,輸入命令的歷史記錄,命令提示符,12,定義矩陣:直接輸入法,矩陣用方括號(hào)“”括起,例:A=123;456;789,矩陣同一行中的元素之間用空格或逗號(hào)分隔,矩陣行與行之間用分號(hào)分開,直接輸入法

7、中,分號(hào)可以用回車代替,例:,矩陣,Matlab的操作對(duì)象是矩陣,:命令提示符,不用輸入回車:運(yùn)行所輸入的命令,13,矩陣元素可以是任何數(shù)值表達(dá)式,例:x=-1.3,sqrt(3),(1+2+3)*4/5,矩陣元素賦值,矩陣元素的單獨(dú)賦值,例:x(5)=abs(x(1),例:x(5)=abs(x(6)?,Matlab自動(dòng)將向量x的長度擴(kuò)展到5,并將未賦值部分置零。,14,大矩陣可以把小矩陣作為其元素,矩陣元素賦值,例:A=A;111213,在原矩陣的下方加一行,如何在原矩陣的右邊添加一列?,15,單個(gè)元素的引用,例:A(2,3),矩陣元素的引用,多個(gè)元素的引用:冒號(hào)的特殊用法,利用小括弧和元素

8、所在的位置(下標(biāo)),x(i):向量x中的第i個(gè)元素A(i,j):矩陣A中的第i行,第j列元素,例:x=3:2:1,16,例:x(1:3)A(3,1:3),矩陣元素的引用,A(i:j,m:n)表示由矩陣A的第i到第j行和第m到第n列交叉線上的元素組成的子矩陣。,可利用冒號(hào)提取矩陣的整行或整列。,例:A(1,:)A(:,1:3)A(:,:),17,Matlab幫助系統(tǒng),18,Matlab查找命令,lookfor按指定的關(guān)鍵詞查詢與之相關(guān)的命令,例:lookforinverse,19,變量命名原則,Matlab變量,20,分號(hào)和續(xù)行符的作用,Matlab變量,若不想在屏幕上輸出結(jié)果,可以在語句最后加

9、分號(hào),如果語句很長,可用續(xù)行符“”(三個(gè)點(diǎn))續(xù)行續(xù)行符的前面最好留一個(gè)空格,例:,21,變量的查詢,Matlab變量,who顯示工作空間中的所有變量,whos查看工作空間中變量的詳細(xì)屬性,22,系統(tǒng)預(yù)定義變量,Matlab變量,pi:圓周率,其值為imag(log(-1),inf,Inf:無窮大,nan,NaN:Not-a-Number,一個(gè)不定值,如0/0,eps:浮點(diǎn)運(yùn)算相對(duì)精度,特殊變量ans,i,j:虛部單位,即,應(yīng)盡量避免給系統(tǒng)預(yù)定義變量重新賦值!,23,數(shù)與算術(shù)表達(dá)式,Matlab數(shù)值運(yùn)算,浮點(diǎn)運(yùn)算的相對(duì)誤差為eps,浮點(diǎn)數(shù)表示范圍為:10-30810308,復(fù)數(shù)作為矩陣元素輸入時(shí)

10、,加號(hào)兩邊不能有空格!,24,數(shù)學(xué)運(yùn)算符,+加法,Matlab數(shù)值運(yùn)算,-減法,*乘法,/和除法(右除和左除),冪運(yùn)算,命令分隔符:逗號(hào)和分號(hào),25,輸出格式,Matlab的輸出,Matlab以雙精度執(zhí)行所有的運(yùn)算,運(yùn)算結(jié)果可以在屏幕上輸出,同時(shí)賦給指定變量;若無指定變量,則系統(tǒng)會(huì)自動(dòng)將結(jié)果賦給變量“ans”,Matlab中數(shù)的輸出格式可以通過format命令指定,format只改變變量的輸出格式,但不會(huì)影響變量的值!,26,各種format格式,27,變量的存儲(chǔ),存儲(chǔ)當(dāng)前工作空間中的變量,save將所有變量存入文件matlab.mat,savemydata將所有變量存入指定文件mydata.

11、mat,存儲(chǔ)指定的變量,savemydata.mat將所有變量存入文件mydata.mat,save文件名變量名列表,例:savemydataAxz,變量名列表中各變量之間用空格分隔,28,變量的讀取,清除當(dāng)前工作空間中的變量,clear清除當(dāng)前工作空間中的所有變量,clearAx清除指定的變量,29,幾個(gè)小技巧,Matlab的命令記憶功能:上下箭頭鍵,命令補(bǔ)全功能:Tab鍵,可以先輸入命令的前幾個(gè)字符,再按上下鍵縮小搜索范圍,用Esc鍵刪除命令行,30,Lecture2MATLAB矩陣(數(shù)值)運(yùn)算,31,利用函數(shù)建立數(shù)值矩陣:MATLAB提供了許多生成和操作矩陣的函數(shù),可以利用它們?nèi)ソ⒕仃?/p>

12、。例如:reshape函數(shù)和diag函數(shù)等。reshape函數(shù)用于建立數(shù)值矩陣。diag函數(shù)用于產(chǎn)生對(duì)角陣。,利用M文件建立矩陣:對(duì)于比較大且比較復(fù)雜的矩陣,可以為它專門建立一個(gè)M文件。其步驟為:第一步:使用編輯程序輸入文件內(nèi)容。第二步:把輸入的內(nèi)容以純文本方式存盤(設(shè)文件名為mymatrix.m)。第三步:在MATLAB命令窗口中輸入mymatrix,就會(huì)自動(dòng)建立一個(gè)名為AM的矩陣,可供以后顯示和調(diào)用。,建立矩陣,32,利用M文件建立矩陣:對(duì)于比較大且比較復(fù)雜的矩陣,可以為它專門建立一個(gè)M文件。其步驟為:第一步:使用編輯程序輸入文件內(nèi)容。第二步:把輸入的內(nèi)容以純文本方式存盤(設(shè)文件名為mym

13、atrix.m)。第三步:在MATLAB命令窗口中輸入mymatrix,就會(huì)自動(dòng)建立一個(gè)名為AM的矩陣,可供以后顯示和調(diào)用。子矩陣操作,建立矩陣,33,2矩陣的基本運(yùn)算()矩陣轉(zhuǎn)置()矩陣加和減()矩陣乘法()矩陣除法Ab=inv(A)*b()矩陣的乘方a2,34,3矩陣的函數(shù)helpmatfunMatrixfunctions-numericallinearalgebra.Matrixanalysis.norm-Matrixorvectornorm.normest-Estimatethematrix2-norm.rank-Matrixrank.det-Determinant.trace-Sum

14、ofdiagonalelements.null-Nullspace.orth-Orthogonalization.rref-Reducedrowechelonform.subspace-Anglebetweentwosubspaces.,35,3矩陣的函數(shù)Linearequations.and/-Linearequationsolution;usehelpslash.inv-Matrixinverse.rcond-LAPACKreciprocalconditionestimatorcond-Conditionnumberwithrespecttoinversion.condest-1-norm

15、conditionnumberestimate.normest1-1-normestimate.chol-Choleskyfactorization.cholinc-IncompleteCholeskyfactorization.lu-LUfactorization.luinc-IncompleteLUfactorization.qr-Orthogonal-triangulardecomposition.lsqnonneg-Linearleastsquareswithnonnegativityconstraints.pinv-Pseudoinverse.lscov-Leastsquareswi

16、thknowncovariance.,36,3矩陣的函數(shù)Eigenvaluesandsingularvalues.eig-Eigenvaluesandeigenvectors.svd-Singularvaluedecomposition.gsvd-Generalizedsingularvaluedecomposition.eigs-Afeweigenvalues.svds-Afewsingularvalues.poly-Characteristicpolynomial.polyeig-Polynomialeigenvalueproblem.condeig-Conditionnumberwith

17、respecttoeigenvalues.hess-Hessenbergform.qz-QZfactorizationforgeneralizedeigenvalues.schur-Schurdecomposition.,37,3矩陣的函數(shù)Matrixfunctions.expm-Matrixexponential.logm-Matrixlogarithm.sqrtm-Matrixsquareroot.funm-Evaluategeneralmatrixfunction.Factorizationutilitiesqrdelete-DeleteacolumnorrowfromQRfactori

18、zation.qrinsert-InsertacolumnorrowintoQRfactorization.rsf2csf-Realblockdiagonalformtocomplexdiagonalform.cdf2rdf-Complexdiagonalformtorealblockdiagonalform.balance-Diagonalscalingtoimproveeigenvalueaccuracy.planerot-Givensplanerotation.cholupdate-rank1updatetoCholeskyfactorization.qrupdate-rank1upda

19、tetoQRfactorization.,38,4建立矩陣的函數(shù)常用函數(shù)有:eye(size(A)產(chǎn)生與A矩陣同階的單位矩陣zeros(m,n)產(chǎn)生0矩陣ones(m,n)產(chǎn)生幺矩陣rand(m,n)產(chǎn)生隨機(jī)元素的矩陣Size(a)返回包含兩個(gè)元素的向量。Length(a)返回向量的長度。,39,常見矩陣生成函數(shù),40,5數(shù)組運(yùn)算(1)數(shù)組的加和減(2)數(shù)組的乘和除(3)數(shù)組的乘方,41,6應(yīng)用舉例,1、行列式計(jì)算;2、求解線性方程組;3、解特征值問題,42,Lecture3MATLAB圖形與可視化(Graphic),43,Lecture3Matlab圖形可視化,基本要求(1)掌握圖形窗口的創(chuàng)

20、建與控制,以及圖形窗口的基本操作;(2)熟練掌握二維和三維繪圖基本的命令、線型控制;(3)初步掌握用特殊的圖形來表現(xiàn)特殊數(shù)據(jù)的性質(zhì),如面積圖、直方圖、餅圖等。(4)掌握坐標(biāo)軸的控制和圖形標(biāo)注命令及其用法。,44,Lecture3Matlab圖形可視化,A、二維平面圖形與坐標(biāo)系1.幾個(gè)基本的繪圖命令a.線性坐標(biāo)曲線plot函數(shù)命令plot是MATLAB二維曲線繪圖中最簡單、最重要、使用最廣泛的一個(gè)線性繪圖函數(shù)。它可以生成線段、曲線和參數(shù)方程曲線的函數(shù)圖形。命令格式:plot(X,Y)plot(x1,y1,x2,y2,):綜合調(diào)用方式,45,Lecture3Matlab圖形可視化,用命令plot(

21、x,y)繪制函數(shù)y=cos(x)在兩個(gè)周期內(nèi)的圖形。x=0:0.01:2*pi;y=cos(x);plot(x,y)在同一圖形窗口中用命令plot(x,y)繪出正弦余弦函數(shù)的圖形。x=0:0.01:2*pi;y=sin(x);cos(x);plot(x,y),46,Lecture3Matlab圖形可視化,二維函數(shù)曲線專用命令fplot用plot繪圖在確定自變量的取值間隔時(shí),一般采用平均間隔,有時(shí)會(huì)因某處間距太大,而不能反映出函數(shù)的變化情況。fplot是繪制函數(shù)y=f(x)圖形的專用命令,它的數(shù)據(jù)點(diǎn)是自適應(yīng)產(chǎn)生的,對(duì)那些導(dǎo)數(shù)變化較大的函數(shù),用fplot函數(shù)繪出的曲線比等分取點(diǎn)所畫出的曲線更加接近

22、真實(shí)。fplot函數(shù)命令的調(diào)用格式為:X,Y=fplot(fun,lims)fun:函數(shù)名字符串;lims:定義x的取值區(qū)間,lims=xmin,xmax;二維函數(shù)曲線專用命令ezplot,47,Lecture3Matlab圖形可視化,2.線型和顏色plot函數(shù)可以設(shè)置曲線的線段類型、定點(diǎn)標(biāo)記和線段顏色。,常用的線段、顏色與定點(diǎn)標(biāo)記參數(shù),48,調(diào)用格式:plot(x,y,s),s為類型說明參數(shù),是字符串。s字符串可以是三種類型的符號(hào)之一,也可以是線型與顏色和定點(diǎn)標(biāo)記與顏色的組合;如果沒有s參數(shù),plot將使用缺省設(shè)置(實(shí)線,前七種顏色順序著色)繪制曲線;在當(dāng)前坐標(biāo)系中繪圖時(shí),每調(diào)入一次繪圖函數(shù)

23、,MATLAB將擦掉坐標(biāo)系中已有的圖形對(duì)象??梢杂胔oldon命令在一個(gè)坐標(biāo)系中增加新的圖形對(duì)象。注意MATLAB會(huì)根據(jù)新圖形的大小,重新改變坐標(biāo)系的比例。用不同的線型和標(biāo)注來繪制兩條曲線。t1=0:0.1:2*pi;t2=0:0.1:6;y1=sin(t1);y2=sqrt(t2);plot(t1,y1,:hb,t2,y2,-g),Lecture3Matlab圖形可視化,49,Lecture3Matlab圖形可視化,3.圖形窗口的分割有時(shí)需要在一個(gè)圖形窗口中顯示幾幅圖,以便對(duì)幾個(gè)函數(shù)進(jìn)行直觀、便捷的比較。由于每個(gè)繪圖命令在繪制數(shù)據(jù)圖像時(shí)都會(huì)將已有圖形覆蓋掉,而用hold命令不能實(shí)現(xiàn)同時(shí)顯示幾

24、個(gè)不同坐標(biāo)尺寸下的圖形,用figure命令再創(chuàng)窗口又很難同時(shí)比較由不同的數(shù)據(jù)繪得的圖像。實(shí)現(xiàn)在同一個(gè)窗口中同時(shí)顯示多個(gè)圖像的命令subplot。使用格式為:subplot(m,n,i)其含義為:把圖形窗口分割為m行n列子窗口,然后選定第i個(gè)窗口為當(dāng)前窗口。subplot命令不僅用于二維圖形,對(duì)三維圖形一樣適用。其本質(zhì)是將figure窗口分為幾個(gè)區(qū)域,再在每個(gè)區(qū)域內(nèi)分別繪圖。,50,Lecture3Matlab圖形可視化,用subplot函數(shù)把兩種不同的圖形綜合在一個(gè)圖形窗口中。subplot(2,2,1)t=0.1:0.1:2*pi;y=sin(t);semilogx(t,y)gridonsu

25、bplot(2,2,2)t=0:0.1:4*pi;y=sin(t);plot(t,y)subplot(2,2,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),51,Lecture3Matlab圖形可視化,4.坐標(biāo)系的調(diào)整實(shí)現(xiàn)坐標(biāo)系的調(diào)整的命令是axis函數(shù)。調(diào)用格式為:axis(xmin,xmax,ymin,ymax,zmin,zmax)坐標(biāo)的最小值(xmin,ymin,zmin)必須小于相應(yīng)的最大值(xmax,ymax,zmax),否則會(huì)出錯(cuò)

26、。自動(dòng)坐標(biāo)系與用axis函數(shù)調(diào)整后的坐標(biā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),52,Lecture3Matlab圖形可視化,B、三維繪圖1.三維曲線繪圖命令三維函數(shù)plot3主要用來表現(xiàn)單參數(shù)的三維曲線,與二維繪圖函數(shù)plot相比,只多了第三維數(shù)據(jù)。其調(diào)用格式為:plot3(X1,Y1,Z1,s1,X2,Y2,Z2,s2,)參數(shù)的含義如下:Xn、Yn、Zn:第一到三維數(shù)據(jù),是尺寸相等的向量

27、/矩陣;s、s1、s2:是字符串,用來設(shè)置線型、顏色、數(shù)據(jù)點(diǎn)標(biāo)記。,53,Lecture3Matlab圖形可視化,x、y、z是向量時(shí),plot3命令的使用t=0:0.1:8*pi;plot3(sin(t),cos(t),t)title(繪制螺旋線)%用命令title對(duì)圖形主題進(jìn)行標(biāo)注xlabel(sin(t),FontWeight,bold,FontAngle,italic)ylabel(cos(t),FontWeight,bold,FontAngle,italic)zlabel(t,FontWeight,bold,FontAngle,italic)%命令zlabel用來指定z軸的數(shù)據(jù)名稱gr

28、idonx、y、z都是矩陣時(shí),plot3命令的使用X,Y=meshgrid(-pi:0.1:pi);Z=sin(X)+cos(Y);plot3(X,Y,Z),54,Lecture3Matlab圖形可視化,2.三維曲面繪圖命令為了繪制定義在平面區(qū)域D=x0,xmy0,yn上的三維曲面z=f(x,y),首先將x0,xm在x方向分成m份,將y0,yn在y方向分成n份,由各劃點(diǎn)分別作平行于坐標(biāo)軸的直線,將區(qū)域D分成mn個(gè)小矩形;對(duì)于每個(gè)小矩形,計(jì)算出網(wǎng)格點(diǎn)的函數(shù)值,決定出空間中四個(gè)頂點(diǎn)(xi,yi,f(xi,yi)),連接四個(gè)頂點(diǎn)得到一個(gè)空間的四邊形片;所有四邊形片連在一起構(gòu)成函數(shù)z=f(x,y)定義

29、在區(qū)域D上的空間網(wǎng)格曲面。因此,三維曲面繪圖命令可分為平面網(wǎng)格點(diǎn)的生成、在平面網(wǎng)格基礎(chǔ)上繪制三維網(wǎng)格及對(duì)三維表面進(jìn)行處理三個(gè)步驟。,55,a.平面網(wǎng)格點(diǎn)的生成函數(shù)命令meshgrid用來生成x-y平面上的網(wǎng)格點(diǎn)矩陣。調(diào)用形式為:X,Y=meshgrid(x,y)X,Y=meshgrid(x)等價(jià)于X,Y=meshgrid(x,x)參數(shù)含義如下:x:是區(qū)間x0,xm上分劃的向量;y:是區(qū)間y0,yn上分劃的向量;X,Y:輸出變量矩陣,矩陣X的行向量都是向量x,矩陣Y的列向量都是向量y。函數(shù)meshgrid將由兩個(gè)向量決定的區(qū)域轉(zhuǎn)換為對(duì)應(yīng)的網(wǎng)格點(diǎn)矩陣。,Lecture3Matlab圖形可視化,56

30、,Lecture3Matlab圖形可視化,函數(shù),定義區(qū)域?yàn)?2,2-2,2。生成網(wǎng)格并計(jì)算其網(wǎng)格點(diǎn)上的函數(shù)值。X,Y=meshgrid(-2:2:2,-2:2:2);X,Y%將劃分結(jié)果輸出至矩陣ans=-202-2-2-2-202000-202222Z=X.*exp(-X.2-Y.2);%計(jì)算網(wǎng)格點(diǎn)上的函數(shù)值賦予變量ZZ=-0.000700.0007-0.036600.0366-0.000700.0007,57,Lecture3Matlab圖形可視化,b.三維網(wǎng)格命令mesh利用函數(shù)mesh生成網(wǎng)格曲面。調(diào)用格式為:mesh(X,Y,Z,C):X、Y、Z、C是同維數(shù)的矩陣,X、Y、Z對(duì)應(yīng)空間上

31、的網(wǎng)格點(diǎn),網(wǎng)格線顏色由C決定;mesh(X,Y,Z):相當(dāng)于上面的C=Z的情況;mesh(x,y,Z,C):x和y是向量,Z和C是同維數(shù)的矩陣,網(wǎng)格曲面的網(wǎng)格頂點(diǎn)是(x(j),y(i),Z(i,j)),網(wǎng)格線的顏色由矩陣C決定;mesh(x,y,Z):相當(dāng)于上面的C=Z的情況;mesh(Z,C):等價(jià)于mesh(x,y,Z,C),此時(shí)向量x=1:n,向量y=1:m;mesh(Z):相當(dāng)于上面的C=Z的情況mesh(.,PropertyName,PropertyValue,.):給函mesh設(shè)置曲面屬性。,58,Lecture3Matlab圖形可視化,用mesh命令繪制上例中的網(wǎng)格曲面。X,Y=

32、meshgrid(-2:.2:2,-2:.2:2);Z=X.*exp(-X.2-Y.2);mesh(Z),與mesh相關(guān)的另外兩個(gè)函數(shù)是meshc和meshz,它們的調(diào)用形式與mesh相同。,59,Lecture3Matlab圖形可視化,c.三維表面命令surf函數(shù)surf可實(shí)現(xiàn)對(duì)網(wǎng)格曲面片進(jìn)行著色,將網(wǎng)格曲面轉(zhuǎn)化為實(shí)曲面。surf命令的調(diào)用格式與mesh相同。利用三維網(wǎng)格表面命令surf繪制圖形。z=peaks;%繪制山峰的圖像,將函數(shù)值賦予變量zsurf(z)%對(duì)山峰的圖像進(jìn)行著色處理shadinginterp%函數(shù)shading改變著色方式,60,Lecture3Matlab圖形可視化,

33、3.等高線圖形的繪制4.三維視圖可視效果的控制5.柱面和球面的三維表達(dá)(書),61,Lecture3Matlab圖形可視化,a.柱面的表達(dá)cylindercylinder命令中,柱面的軸線定義為z軸,只要給出母線的描述就可完成一個(gè)柱面。調(diào)用格式為:X,Y,Z=cylinder(R,N);X,Y,Z=cylinder(R):缺省值N=20;X,Y,Z=cylinder:缺省值N=20,R=1,1。R:是一描述柱面母線的向量;N:是旋轉(zhuǎn)柱面上的分割線條數(shù);X,Y,Z:是返回的x,y,z坐標(biāo)向量。繪制一個(gè)柱面。t=pi:0.01:3*pi;r=sin(t)+t;cylinder(r,30)shadi

34、nginterp,62,Lecture3Matlab圖形可視化,b.球面的表達(dá)sphere調(diào)用格式為:X,Y,Z=sphere(N):產(chǎn)生一個(gè)(N+1)(N+1)的矩陣,然后用函數(shù)surf命令繪制一個(gè)單位的球面,N為設(shè)置分割線的條數(shù);X,Y,Z=sphere:缺省值N=20。畫一個(gè)球面。X,Y,Z=sphere;surf(X,Y,Z),63,Lecture3Matlab圖形可視化,四、特殊圖形繪制為了將抽象的數(shù)據(jù)表達(dá)得更形象,除了繪制二維、三維圖形外,還要用到直方圖、面積圖、餅圖等特殊圖形。,特殊圖形指令,64,Lecture3Matlab圖形可視化,1.面積圖命令area表現(xiàn)各個(gè)不同部分對(duì)整

35、體所作的貢獻(xiàn)area(X,Y):與plot的命令的使用方法相似,將連線圖到x軸的那部分填上了顏色;area(Y):缺省值X=1:SIZE(Y);area(X,Y,LEVEL)或area(Y,LEVEL):填色部分為由連線圖到y(tǒng)=level的水平線之間的部分。繪制一面積圖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)gridon,65,Lecture3Matlab圖形可視化,2.直方圖命令bar直方圖常用于統(tǒng)計(jì)數(shù)據(jù)的作圖,有bar、bar3、barh和bar3h幾種函數(shù),其調(diào)用格式類似。以函數(shù)bar為例:ba

36、r(X,Y):X是橫坐標(biāo)向量,Y可以是向量或矩陣。Y是向量時(shí),每一個(gè)元素對(duì)應(yīng)一個(gè)豎條;Y是m行n列矩陣時(shí),將畫出m組豎條,每組包括n個(gè)豎條;bar(Y):橫坐標(biāo)使用缺省值X=1:M;bar(X,Y,WIDTH)或bar(Y,WIDTH):用WIDTH指定豎條的寬度,如果WIDTH1,條與條之間將重合。缺省寬度為0.8;bar(.,grouped):產(chǎn)生缺省的組合直方圖;bar(.,stacked):產(chǎn)生累積的直方圖;bar(.,linespec):指定條的顏色;H=bar(.):返回條形圖對(duì)象的句柄。,66,Lecture3Matlab圖形可視化,用繪制直方圖的幾種命令繪制直方圖。X=-2:2

37、;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(Sigmay)colormap(summer),subplot(2,2,4)barh(X,Y,stacked)xlabel(y);ylabel(Sigmax)colormap(summer),67,Lec

38、ture3Matlab圖形可視化,繪制三維直方圖。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,stacked)ylabel(x)zlabel(Sigmay)colormap(summer),subplot(2,2,4)bar3h(X,Y,stacked)zlabel(x)yla

39、bel(Sigmay)colormap(summer),68,Lecture3Matlab圖形可視化,3.餅圖命令pie餅圖又叫扇形圖,用于顯示向量中元素所占向量元素總和的百分比。pie和pie3分別用于繪制二維和三維餅圖。調(diào)用格式:pie(X):向量X的餅圖。把X的每一個(gè)元素在所有元素總和中占的比例表達(dá)出來;pie(X,EXPLODE):向量EXPLODE(和向量X長度相等)用于指定餅圖中抽出一部分的塊(非零值對(duì)應(yīng)的塊);pie(.,LABELS):LABELS是用于標(biāo)注餅圖的字符串?dāng)?shù)組,其長度必須和向量X相等;H=pie(.):返回包括餅圖和文本對(duì)象句柄。,69,用函數(shù)pie和pie3繪制

40、餅圖。x=200,360,120,400,320;subplot(2,2,1),pie(x,00010)subplot(2,2,2),pie3(x,00010)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),Lecture3Matlab圖形可視化,70,Lecture3Matlab圖形可視化,五、極坐標(biāo)、柱坐標(biāo)和球坐標(biāo)系下繪制圖形1.極坐標(biāo)系下繪制圖形ploar是直接在極坐標(biāo)系下繪圖的命令調(diào)用格式為:ploar(THETA,RHO,S)其中S是字符串,用來控制圖形的線型。繪制

41、半徑為2的漸開線。rhe=2;theta=0:pi/20:4*pi;rho=rhe+theta*rhe;polar(theta,rho,r),71,Lecture3Matlab圖形可視化,六、坐標(biāo)軸的調(diào)整和圖形的標(biāo)注1.坐標(biāo)軸調(diào)整命令,72,Lecture3Matlab圖形可視化,2.圖形標(biāo)注坐標(biāo)軸和圖形標(biāo)題標(biāo)注標(biāo)注坐標(biāo)軸x、y和z的命令函數(shù)為xlabel、ylabel和zlabel,調(diào)用格式為:xlabel(text)xlabel(text,Property1,PropertyValue1,Property2,PropertyValue2,.)H=xlabel(.)返回坐標(biāo)軸標(biāo)注的句柄。其中

42、,text是要添加的標(biāo)注文本。Property是文本的屬性名,PropertyValue是屬性值(所用字體、大小、標(biāo)注角度等)。圖形加標(biāo)題的函數(shù)為title,其調(diào)用格式與坐標(biāo)軸標(biāo)注類似。,73,Lecture3Matlab圖形可視化,b.圖例的標(biāo)注legend命令實(shí)現(xiàn)不同圖例的說明。其調(diào)用格式為:legend(string1,string2,string3,.)legend(string1,string2,string3,.,Pos)按順序把字符串添加到相應(yīng)的曲線線型符號(hào)之后;Pos對(duì)圖例的位置作出設(shè)置和調(diào)整:0=自動(dòng)把圖例置于最佳位置(和圖中曲線重復(fù)最少);1=置于圖形窗口的右上角(缺省值)

43、;2=置于圖形窗口的左上角;3=置于圖形窗口的左下角;4=置于圖形窗口的右下角;-1=置于圖形窗口的右側(cè)(外部)。,74,3.控制分格線對(duì)二維和三維圖形都適用。有三種用法:gridon:打開分格線控制開關(guān),以后繪制的圖形都帶有分格線;gridoff:關(guān)閉分格線控制開關(guān),以后繪制的圖形都不帶分格線;grid:用于實(shí)現(xiàn)分格線繪制切換。,Lecture3Matlab圖形可視化,75,Lecture3Matlab圖形可視化,繪制圖形,并用函數(shù)xlabel、title和legend命令進(jìn)行標(biāo)注。t=0:0.1:4*pi;y=sin(t);y1=cos(t);plot(t,y,:,t,y1,r*)xlab

44、el(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)text(0,-0.6,繪圖日期:,date)text(0,-0.8,MATLAB版本:,v

45、ersion)legend(正弦波,余弦波)figure(2)plot(t,y,:,t,y1,r*)title(繪制正弦波和余弦波Pos=0,fontsize,10,fontweight,bold,fontangle,italic)legend(正弦波,余弦波,0)gridonfigure(3)plot(t,y,:,t,y1,r*)title(繪制正弦波和余弦波Pos=-1,fontsize,10,fontweight,bold,fontangle,italic),76,Lecture3Matlab圖形可視化,text(7*pi/2,0,rightarrowcos(pi*7/2)=0)lege

46、nd(正弦波,余弦波,-1)gridoff,77,Lecture4MATLAB符號(hào)運(yùn)算(Symbolic),78,MATLAB,Matlab符號(hào)運(yùn)算,79,Matlab符號(hào)運(yùn)算介紹,Matlab符號(hào)運(yùn)算是通過符號(hào)數(shù)學(xué)工具箱(SymbolicMathToolbox)來實(shí)現(xiàn)的。Matlab符號(hào)數(shù)學(xué)工具箱是建立在功能強(qiáng)大的Maple軟件的基礎(chǔ)上的,當(dāng)Matlab進(jìn)行符號(hào)運(yùn)算時(shí),它就請求Maple軟件去計(jì)算并將結(jié)果返回給Matlab。,Matlab的符號(hào)數(shù)學(xué)工具箱可以完成幾乎所有得符號(hào)運(yùn)算功能。主要包括:符號(hào)表達(dá)式的運(yùn)算,符號(hào)表達(dá)式的復(fù)合、化簡,符號(hào)矩陣的運(yùn)算,符號(hào)微積分、符號(hào)作圖,符號(hào)代數(shù)方程求解,

47、符號(hào)微分方程求解等。此外,該工具箱還支持可變精度運(yùn)算,即支持以指定的精度返回結(jié)果。,80,Matlab符號(hào)運(yùn)算特點(diǎn),計(jì)算以推理方式進(jìn)行,因此不受計(jì)算誤差累積所帶來的困擾。,符號(hào)計(jì)算指令的調(diào)用比較簡單,與數(shù)學(xué)教科書上的公式相近。,符號(hào)計(jì)算可以給出完全正確的封閉解,或任意精度的數(shù)值解(封閉解不存在時(shí))。,符號(hào)計(jì)算所需的運(yùn)行時(shí)間相對(duì)較長。,81,Matlab符號(hào)運(yùn)算舉例,求一元二次方程ax2+bx+c=0的根,solve(a*x2+b*x+c=0),求的根f(x)=(cosx)2的一次導(dǎo)數(shù),x=sym(x);diff(cos(x)2),計(jì)算f(x)=x2在區(qū)間a,b上的定積分,symsabx;int

48、(x2,a,b),82,在進(jìn)行符號(hào)運(yùn)算時(shí),必須先定義基本的符號(hào)對(duì)象,可以是符號(hào)常量、符號(hào)變量、符號(hào)表達(dá)式等。符號(hào)對(duì)象是一種數(shù)據(jù)結(jié)構(gòu)。,符號(hào)對(duì)象與符號(hào)表達(dá)式,含有符號(hào)對(duì)象的表達(dá)式稱為符號(hào)表達(dá)式,Matlab在內(nèi)部把符號(hào)表達(dá)式表示成字符串,以與數(shù)字變量或運(yùn)算相區(qū)別。,符號(hào)矩陣/數(shù)組:元素為符號(hào)表達(dá)式的矩陣/數(shù)組。,83,sym函數(shù)用來建立單個(gè)符號(hào)變量,一般調(diào)用格式為:,符號(hào)對(duì)象的建立:sym和syms,符號(hào)對(duì)象的建立,b=sym(1/3),C=sym(1ab;cd),84,符號(hào)對(duì)象的建立:sym和syms,符號(hào)對(duì)象的建立,syms命令用來建立多個(gè)符號(hào)變量,一般調(diào)用格式為:,syms符號(hào)變量1符號(hào)變

49、量2.符號(hào)變量n,a=sym(a);b=sym(b);c=sym(c);,85,符號(hào)表達(dá)式的建立:,例:,建立符號(hào)表達(dá)式通常有以下2種方法:(1)用sym函數(shù)直接建立符號(hào)表達(dá)式。(2)使用已經(jīng)定義的符號(hào)變量組成符號(hào)表達(dá)式。,y=sym(sin(x)+cos(x),x=sym(x);y=sin(x)+cos(x),符號(hào)表達(dá)式的建立,symsx;y=sin(x)+cos(x),86,Matlab符號(hào)運(yùn)算采用的運(yùn)算符和基本函數(shù),在形狀、名稱和使用上,都與數(shù)值計(jì)算中的運(yùn)算符和基本函數(shù)完全相同,符號(hào)對(duì)象的基本運(yùn)算,87,符號(hào)對(duì)象的基本運(yùn)算,三角函數(shù)與反三角函數(shù)、指數(shù)函數(shù)、對(duì)數(shù)函數(shù)等,基本函數(shù),88,查找

50、符號(hào)表達(dá)式中的符號(hào)變量,若表達(dá)式中有兩個(gè)符號(hào)變量與x的距離相等,則ASCII碼大者優(yōu)先。,查找符號(hào)變量,findsym(expr)按字母順序列出符號(hào)表達(dá)式expr中的所有符號(hào)變量,findsym(expr,N)按順序列出expr中離x最近的N個(gè)符號(hào)變量,常量pi,i,j不作為符號(hào)變量,89,例:,f=sym(2*w-3*y+z2+5*a)findsym(f),findsym(f,3),findsym(f,1),findsym舉例,90,符號(hào)表達(dá)式的替換,subs(f,x,a)用a替換字符函數(shù)f中的字符變量xa是可以是數(shù)/數(shù)值變量/表達(dá)式或字符變量/表達(dá)式,若x是一個(gè)由多個(gè)字符變量組成的數(shù)組或矩

51、陣,則a應(yīng)該具有與x相同的形狀的數(shù)組或矩陣。,用給定的數(shù)據(jù)替換符號(hào)表達(dá)式中的指定的符號(hào)變量,91,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)symsxyf3=subs(f,u,x+y)subs(f3,x,y,1,2),ans=4,f2=2*(u+2),ans=14,ans=2*(a+2)+2),f3=2*x+2*y,ans=6,例:指出下面各條語句的輸出結(jié)果,f=2*u,92,符號(hào)矩陣,A=sym(1+x,sin(x);5,exp(x),使用sym函數(shù)直接生成,將數(shù)值矩陣轉(zhuǎn)化成符號(hào)矩

52、陣,符號(hào)矩陣中元素的引用和修改,B=2/3,sqrt(2);5.2,log(3);C=sym(B),A=sym(1+x,sin(x);5,exp(x);A(1,2)%引用A(2,2)=sym(cos(x)%重新賦值,93,六類常見符號(hào)運(yùn)算,因式分解、展開、合并、簡化及通分等,計(jì)算極限,計(jì)算導(dǎo)數(shù),計(jì)算積分,符號(hào)求和,代數(shù)方程和微分方程求解,94,因式分解,因式分解,factor(f),symsx;f=x6+1;factor(f),factor也可用于正整數(shù)的分解,s=factor(100),factor(sym(12345678901234567890),大整數(shù)的分解要轉(zhuǎn)化成符號(hào)常量,95,函數(shù)

53、展開,函數(shù)展開,expand(f),symsx;f=(x+1)6;expand(f),多項(xiàng)式展開,三角函數(shù)展開,symsxy;f=sin(x+y);expand(f),96,合并同類項(xiàng),合并同類項(xiàng),collect(f,v):按指定變量v進(jìn)行合并collect(f):按默認(rèn)變量進(jìn)行合并,symsxy;f=x2*y+y*x-x2+2*x;collect(f),collect(f,y),97,函數(shù)簡化,函數(shù)簡化,y=simple(f):對(duì)f嘗試多種不同的算法進(jìn)行簡化,返回其中最簡短的形式,How,y=simple(f):y為f的最簡短形式,How中記錄的為簡化過程中使用的方法。,98,函數(shù)簡化,函數(shù)

54、簡化,y=simplify(f):對(duì)f進(jìn)行簡化,symsx;f=sin(x)2+cos(x)2;simplify(f),symscalphabeta;f=exp(c*log(sqrt(alpha+beta);simplify(f),99,函數(shù)簡化舉例,symsx;f=(1/x3+6/x2+12/x+8)(1/3);y1=simplify(f),g1=simple(f),g2=simple(g1),多次使用simple可以達(dá)到最簡表達(dá)。,例:簡化,100,分式通分,函數(shù)簡化,N,D=numden(f):N為通分后的分子,D為通分后的分母,symsxy;f=x/y+y/x;N,D=numden(f

55、),n,d=numden(sym(112/1024),101,horner多項(xiàng)式,horner多項(xiàng)式:嵌套形式的多項(xiàng)式,symsx;f=x4+2*x3+4*x2+x+1;g=horner(f),例:,102,計(jì)算極限,limit(f,x,a):計(jì)算limit(f,a):當(dāng)默認(rèn)變量趨向于a時(shí)的極限limit(f):計(jì)算a=0時(shí)的極限limit(f,x,a,right):計(jì)算右極限limit(f,x,a,left):計(jì)算左極限,例:計(jì)算,,symsxhn;L=limit(log(x+h)-log(x)/h,h,0)M=limit(1-x/n)n,n,inf),103,計(jì)算導(dǎo)數(shù),g=diff(f,v

56、):求符號(hào)表達(dá)式f關(guān)于v的導(dǎo)數(shù)g=diff(f):求符號(hào)表達(dá)式f關(guān)于默認(rèn)變量的導(dǎo)數(shù)g=diff(f,v,n):求f關(guān)于v的n階導(dǎo)數(shù),diff,symsx;f=sin(x)+3*x2;g=diff(f,x),104,計(jì)算積分,int(f,v,a,b):計(jì)算定積分int(f,a,b):計(jì)算關(guān)于默認(rèn)變量的定積分int(f,v):計(jì)算不定積分int(f):計(jì)算關(guān)于默認(rèn)變量的不定積分,symsx;f=(x2+1)/(x2-2*x+2)2;I=int(f,x)K=int(exp(-x2),x,0,inf),例:計(jì)算和,105,符號(hào)求和,symsn;f=1/n2;S=symsum(f,n,1,inf)S10

57、0=symsum(f,n,1,100),symsum(f,v,a,b):求和symsum(f,a,b):關(guān)于默認(rèn)變量求和,例:計(jì)算級(jí)數(shù)及其前100項(xiàng)的部分和,例:計(jì)算函數(shù)級(jí)數(shù),symsnx;f=x/n2;S=symsum(f,n,1,inf),106,代數(shù)方程求解,solve(f,v):求方程關(guān)于指定自變量的解,f可以是用字符串表示的方程、符號(hào)表達(dá)式或符號(hào)方程;solve也可解方程組(包含非線性);得不到解析解時(shí),給出數(shù)值解。,107,微分方程求解,dsolve,y=dsolve(eq1,eq2,.,cond1,cond2,.,v),其中y為輸出的解,eq1、eq2、.為微分方程,cond1、cond2、.為初值條件,v為自變量,例1:求微分方程的通解,并驗(yàn)證。,y=dsolve(Dy+2*x*y=x*exp(-x2),x),symsx;diff(y)+2*x*y-x*exp(-x2),108,微分方程求解,幾點(diǎn)說明,如果省略初值條件,則表

溫馨提示

  • 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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論