MATLAB R2007基礎(chǔ)教程PPT教學(xué)課件-第5章 MATLAB的數(shù)學(xué)運(yùn)算.ppt_第1頁
MATLAB R2007基礎(chǔ)教程PPT教學(xué)課件-第5章 MATLAB的數(shù)學(xué)運(yùn)算.ppt_第2頁
MATLAB R2007基礎(chǔ)教程PPT教學(xué)課件-第5章 MATLAB的數(shù)學(xué)運(yùn)算.ppt_第3頁
MATLAB R2007基礎(chǔ)教程PPT教學(xué)課件-第5章 MATLAB的數(shù)學(xué)運(yùn)算.ppt_第4頁
MATLAB R2007基礎(chǔ)教程PPT教學(xué)課件-第5章 MATLAB的數(shù)學(xué)運(yùn)算.ppt_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

2019年12月6日,第1頁,第5章MATLAB的數(shù)學(xué)運(yùn)算,MATLABR2007基礎(chǔ)教程清華大學(xué)出版社,教學(xué)目標(biāo)教學(xué)重點(diǎn)教學(xué)內(nèi)容,2019年12月6日,第2頁,教學(xué)目標(biāo),掌握多項(xiàng)式運(yùn)算及插值掌握函數(shù)操作,2019年12月6日,第3頁,教學(xué)內(nèi)容,多項(xiàng)式與插值函數(shù)運(yùn)算微分方程,2019年12月6日,第4頁,多項(xiàng)式與插值,多項(xiàng)式在數(shù)學(xué)中有著極為重要的作用,同時(shí)多項(xiàng)式的運(yùn)算也是工程和應(yīng)用中經(jīng)常遇到的問題。MATLAB提供了一些專門用于處理多項(xiàng)式的函數(shù),用戶可以應(yīng)用這些函數(shù)對多項(xiàng)式進(jìn)行操作。MATLAB中對多項(xiàng)式的操作包括多項(xiàng)式求根、多項(xiàng)式的四則運(yùn)算及多項(xiàng)式的微積分。,2019年12月6日,第5頁,多項(xiàng)式的表示,在MATLAB中多項(xiàng)式用一個行向量表示,向量中的元素為該多項(xiàng)式的系數(shù),按照降序排列。如多項(xiàng)式可以表示為向量p=9743。用戶可以創(chuàng)建向量的方式創(chuàng)建多項(xiàng)式,再將其顯示為多項(xiàng)式,,2019年12月6日,第6頁,多項(xiàng)式的四則運(yùn)算,由于多項(xiàng)式是利用向量來表示,多項(xiàng)式的四則運(yùn)算可以轉(zhuǎn)化為向量的運(yùn)算。多項(xiàng)式的加減為對應(yīng)項(xiàng)系數(shù)的加減,因此可以通過向量的加減來實(shí)現(xiàn)。但是在向量的加減中兩個向量需要有相同的長度,因此在進(jìn)行多項(xiàng)式加減時(shí),需要將短的向量前面補(bǔ)0。多項(xiàng)式的乘法實(shí)際上是多項(xiàng)式系數(shù)向量之間的卷積運(yùn)算,可以通過MATLAB中的卷積函數(shù)conv來完成。多項(xiàng)式的除法為乘法的逆運(yùn)算,可以通過反卷積函數(shù)deconv來實(shí)現(xiàn)。,2019年12月6日,第7頁,多項(xiàng)式的其他運(yùn)算,除多項(xiàng)式的四則運(yùn)算外,MATLAB還提供了多項(xiàng)式的一些其他運(yùn)算。這些運(yùn)算及其對應(yīng)的函數(shù)如表所示。,2019年12月6日,第8頁,多項(xiàng)式的運(yùn)算函數(shù)(1/2),roots函數(shù)和poly函數(shù)這兩個函數(shù)為功能互逆的兩個函數(shù)。roots函數(shù)用于求解多項(xiàng)式的根。該函數(shù)的輸入?yún)?shù)為多項(xiàng)式的系數(shù)組成的行向量,返回值為由多項(xiàng)式的根組成的列向量。poly函數(shù)用于生成根為制定數(shù)值的多項(xiàng)式。polyval函數(shù)polyval函數(shù)用于多項(xiàng)式求值。對于給定的多項(xiàng)式,利用該函數(shù)可以計(jì)算該多項(xiàng)式在任意點(diǎn)的值。,2019年12月6日,第9頁,多項(xiàng)式的運(yùn)算函數(shù)(2/2),polyder函數(shù)函數(shù)polyder用于多項(xiàng)式求導(dǎo)。該函數(shù)可以用于求解一個多項(xiàng)式的導(dǎo)數(shù)、兩個多項(xiàng)式乘積的導(dǎo)數(shù)和兩個多項(xiàng)式商的導(dǎo)數(shù)。該函數(shù)的用法為:q=polyder(p)該命令計(jì)算多項(xiàng)式p的導(dǎo)數(shù)。c=polyder(a,b)該命令實(shí)現(xiàn)多項(xiàng)式a、b的積的導(dǎo)數(shù)。q,d=polyder(a,b)該命令實(shí)現(xiàn)多項(xiàng)式a、b的商的導(dǎo)數(shù),q/d為最后的結(jié)果。,2019年12月6日,第10頁,多項(xiàng)式擬合,曲線擬合是工程中經(jīng)常要用到的技術(shù)之一。MATLAB提供了曲線擬合工具箱滿足用戶要求,另外,還提供了多項(xiàng)式擬合函數(shù)。函數(shù)polyfit給出在最小二乘意義下最佳擬合系數(shù)。該函數(shù)的調(diào)用格式為:p=polyfit(x,y,n)其中x、y分別為待擬合數(shù)據(jù)的x坐標(biāo)和y坐標(biāo),n用于指定返回多項(xiàng)式的次數(shù)。,2019年12月6日,第11頁,數(shù)據(jù)插值,根據(jù)已知數(shù)據(jù)推斷未知數(shù)據(jù),則需要使用數(shù)據(jù)插值的概念。MATLAB提供了對數(shù)組的任意一維進(jìn)行插值的工具,這些工具大多需要用到多維數(shù)組的操作。本節(jié)將對數(shù)據(jù)插值做簡單的介紹,主要介紹一維插值。MATLAB中一維插值主要有:多項(xiàng)式插值快速傅立葉變換(FFT)插值。,2019年12月6日,第12頁,一維插值,一維插值在曲線擬合和數(shù)據(jù)分析中具有重要的地位。在MATLAB中,一維插值由函數(shù)interp1實(shí)現(xiàn)。該函數(shù)的調(diào)用格式為yi=interp1(x,y,xi,method)x、y:采用數(shù)據(jù)的x坐標(biāo)和y坐標(biāo)xi:待插值的位置method:采用的插值方法該語句返回函數(shù)在點(diǎn)xi處的插值結(jié)果。該語句中的參數(shù)method可以選擇的內(nèi)容如表所示。,2019年12月6日,第13頁,外插運(yùn)算,當(dāng)插值點(diǎn)落在已知數(shù)據(jù)集的外部時(shí),需要對該點(diǎn)進(jìn)行插值估算,這種外插估值是比較難的。MATLAB中沒有指定外插算法時(shí),對已知數(shù)據(jù)集外部點(diǎn)上函數(shù)值的估計(jì)都返回NaN。需要外插運(yùn)算時(shí),可以通過interp1函數(shù)添加extrap參數(shù),指明所用的插值算法也用于外插運(yùn)算。語法格式:yi=interp1(x,y,xi,method,extrap),2019年12月6日,第14頁,函數(shù)運(yùn)算,函數(shù)的表示數(shù)學(xué)函數(shù)圖象的繪制函數(shù)極值函數(shù)求解數(shù)值積分含參數(shù)函數(shù)的使用,2019年12月6日,第15頁,函數(shù)的表示,MATLAB中提供了兩種函數(shù)表示的方法:利用M文件將函數(shù)定義為MALTAB函數(shù)將函數(shù)定義為MALTAB函數(shù),當(dāng)需要調(diào)用該函數(shù)時(shí),需要通過符號“”獲取函數(shù)句柄,利用函數(shù)句柄實(shí)現(xiàn)對函數(shù)的操作。匿名函數(shù)方法直接創(chuàng)建函數(shù),如語句:fh=(x)1./(x-0.3).2+0.01)+1./(x-0.9).2+0.04)-6;,2019年12月6日,第16頁,數(shù)學(xué)函數(shù)圖象的繪制,函數(shù)圖象具有直觀的特性,可以通過函數(shù)圖象查看出一個函數(shù)的總體特征。MATLAB提供了繪制函數(shù)圖象的函數(shù)fplot,方便用戶繪制函數(shù)的圖象。下面介紹該函數(shù)的用法。該函數(shù)的調(diào)用格式如下:fplot(fun,limits),y=f(x)fplot(fun,limits,LineSpec)fplot(fun,limits,tol)fplot(fun,limits,tol,LineSpec)fplot(fun,limits,n)fun可以為MATLAB函數(shù)的M文件名,可以是包含變量x的字符串,該字符串可以傳遞給函數(shù)eval,還可以是函數(shù)句柄。參數(shù)limits用于指定繪制圖象的范圍。limits是一個向量,用于指定x軸的范圍,格式為xminxmax。limits也可以同時(shí)指定y軸的范圍,格式為xminxmaxyminymax。,2019年12月6日,第17頁,函數(shù)極值,一元函數(shù)的極小值fminbnd求得函數(shù)在給定區(qū)間內(nèi)的局部極小值。該函數(shù)的調(diào)用格式為x=fminbnd(fun,x1,x2,options)fun為函數(shù)句柄x1和x2分別用于指定區(qū)間的左右邊界options用于指定程序的其他參數(shù),其元素取值如表所示。,2019年12月6日,第18頁,多元函數(shù)的極小值,MATLAB提供了函數(shù)fminsearch用于計(jì)算多元函數(shù)的極小值。fminsearch函數(shù)內(nèi)部應(yīng)用了Nelder-Mead單一搜索算法,通過調(diào)整x的各個元素的值來尋找f(x)的極小值。該算法雖然對于平滑函數(shù)搜索效率沒有其他算法高,但它不需要梯度信息,從而擴(kuò)展了其應(yīng)用范圍。因此,該算法特別適用于不太平滑、難以計(jì)算梯度信息或梯度信息價(jià)值不大的函數(shù)。用于求解函數(shù)極小值的函數(shù)還有fminbnd。fminbnd函數(shù)的用法與fminsearch函數(shù)的用法基本相同,不同之處在于:fminbnd函數(shù)的輸入?yún)?shù)為尋找最小值的區(qū)間,并且只能用于求解一元函數(shù)的極值,fminsearch函數(shù)的輸入?yún)?shù)為初始值。,2019年12月6日,第19頁,函數(shù)求解,可以使用函數(shù)fzero()來求一元函數(shù)的零點(diǎn)。尋找一元函數(shù)零點(diǎn)時(shí),可以指定一個初始點(diǎn),或者指定一個區(qū)間。當(dāng)指定一個初始點(diǎn)時(shí),此函數(shù)在初始點(diǎn)附近尋找一個使函數(shù)值變號的區(qū)間,如果沒有找到這樣的區(qū)間,則函數(shù)返回NaN。該函數(shù)的調(diào)用格式為:x=fzero(fun,x0),x=fzero(fun,x1,x2):尋找x0附近或者區(qū)間x1,x2內(nèi)fun的零點(diǎn),返回該點(diǎn)的x坐標(biāo);x=fzero(fun,x0,options),x=fzero(fun,x1,x2,options):通過options設(shè)置參數(shù);x,fval=fzero(.):返回零點(diǎn)的同時(shí)返回該點(diǎn)的函數(shù)值;x,fval,exitflag=fzero(.):返回零點(diǎn)、該點(diǎn)的函數(shù)值及程序退出的標(biāo)志;x,fval,exitflag,output=fzero(.):返回零點(diǎn)、該點(diǎn)的函數(shù)值、程序退出的標(biāo)志及選定的輸出結(jié)果。,2019年12月6日,第20頁,數(shù)值積分,MATLAB中提供了用于積分的函數(shù),包括:一元函數(shù)的自適應(yīng)數(shù)值積分一元函數(shù)的矢量積分二重積分和三重積分這些函數(shù)如表所示。,2019年12月6日,第21頁,一元函數(shù)的積分,MATLAB中一元函數(shù)的積分可以用兩個函數(shù)來實(shí)現(xiàn):quad和quadl。函數(shù)quad采用低階的自適應(yīng)遞歸Simpson方法,函數(shù)quadl采用高階自適應(yīng)Lobatto方法,該函數(shù)是quad8函數(shù)的替代。函數(shù)quad的調(diào)用格式如下:q=quad(fun,a,b),采用遞歸自適應(yīng)方法計(jì)算函數(shù)fun在區(qū)間上的積分,其精確度為1e-6。q=quad(fun,a,b,tol),指定允許誤差,指定的誤差tol需大于1e-6。該命令運(yùn)行更快,但是得到的結(jié)果精確度降低。q=quad(fun,a,b,tol,trace),跟蹤迭代過程,輸出fcntab-aQ的值,分別為計(jì)算函數(shù)值的次數(shù)、當(dāng)前積分區(qū)間的左邊界、步長和該區(qū)間內(nèi)的積分值。q,fcnt=quadl(fun,a,b,.),輸出函數(shù)值的同時(shí)輸出計(jì)算函數(shù)值的次數(shù)。,2019年12月6日,第22頁,一元函數(shù)的矢量積分,矢量積分相當(dāng)于多個一元函數(shù)積分。當(dāng)被積函數(shù)中含有參數(shù),需要對該參數(shù)的不同值計(jì)算該函數(shù)的積分時(shí),可以使用一元函數(shù)的矢量積分。矢量積分返回一個向量,每個元素的值為一個一元函數(shù)的積分值。quadv函數(shù)與quad和quadl函數(shù)相似,可以設(shè)置積分參數(shù)和結(jié)果輸出。,2019年12月6日,第23頁,二重積分和三重積分,MATLAB中二重積分和三重積分分別由函數(shù)dblquad()和函數(shù)triplequad()來實(shí)現(xiàn)。首先介紹函數(shù)dblquad(),該函數(shù)的基本格式如下:q=dblquad(fun,xmin,xmax,ymin,ymax),函數(shù)的參數(shù)分別為函數(shù)句柄、兩個自變量的積分限,返回積分結(jié)果。q=dblquad(fun,xmin,xmax,ymin,ymax,tol),指定積分結(jié)果的精度。q=dblquad(fun,xmin,xmax,ymin,ymax,tol,method),指定結(jié)果精度和積分方法,method的取值可以是quadl,也可以是用戶自定義的積分函數(shù)句柄,該函數(shù)的調(diào)用格式必須與quad的調(diào)用格式相同。triplequad()函數(shù)的調(diào)用格式和dblquad()基本相同,在調(diào)用triplequad()函數(shù)時(shí),需要六個參數(shù)指定積分限。,2019年12月6日,第24頁,含參數(shù)函數(shù)的使用,在很多情況下,需要進(jìn)行運(yùn)算的函數(shù)中包含參數(shù)。在MATLAB中使用含參函數(shù)的方式有兩種:嵌套函數(shù)匿名函數(shù)。,2019年12月6日,第25頁,用嵌套函數(shù)提供函數(shù)參數(shù),使用含參函數(shù)的一個方法是編寫一個M文件,該文件以函數(shù)參數(shù)作為輸入,然后調(diào)用函數(shù)的函數(shù)來處理含參函數(shù),最后把含參函數(shù)以嵌套函數(shù)的方式包含在M文件中。,2019年12月6日,第26頁,用匿名函數(shù)提供函數(shù)參數(shù),使用含參函數(shù)還可以通過匿名函數(shù)來實(shí)現(xiàn),函數(shù)的參數(shù)在使用之前必須先賦值。具體步驟為:首先創(chuàng)建一個含參函數(shù),保存為M文件。函數(shù)的輸入為自變量x和函數(shù)參數(shù);在調(diào)用函數(shù)的函數(shù)前對參數(shù)賦值;用含參函數(shù)創(chuàng)建匿名函數(shù);把匿名函數(shù)的句柄傳遞給函數(shù)的函數(shù)進(jìn)行計(jì)算。,2019年12月6日,第27頁,微分方程,MATLAB能夠求解的微分方程類型包括:常微分方程初值問題常微分方程邊值問題時(shí)滯微分方程初值問題偏微分方程,2019年12月6日,第28頁,常微分方程初值問題,MATLAB可以求解的常微分方程包括下面三種類型:顯式常微分方程線性隱式常微分方程,其中為矩陣全隱式常微分方程,2019年12月6日,第29頁,顯式常微分方程,MATLAB可以求解剛性方程和非剛性方程。求解微分方程的命令格式為:t,y=solver(odefun,tspan,y0,options)odefun:待求解方程的句柄tspan:為積分區(qū)間y0:為一個向量,包括問題的初始條件Options:用于指定求解算法。對于剛性方程和非剛性方程,可以選擇的算法不同。對于非剛性方程,可以選擇的算法如下:ode45:基于顯式Runge-Kutta(4,5)規(guī)則求解,2019年12月6日,第30頁,對于非剛性方程,可以選擇的算法如下:ode45:基于顯式Runge-Kutta(4,5)規(guī)則求解ode23:基于顯式Runge-Kutta(2,3)規(guī)則求解ode113:利用變階Adams-Bashforth-Moulton算法求解,2019年12月6日,第31頁,剛性方程的求解方法如下:ode15s:基于數(shù)值積分公式的變階求解算法ode23s:采用二階改進(jìn)Rosenbrock公式的算法ode23t:采用自由內(nèi)插的梯形規(guī)則ode23tb:采用TR-BDF2算法,該算法為隱式Runge-Kutta公式,包含兩個部分,第一個部分為梯形規(guī)則,第二個部分為二階后向差分。,2019年12月6日,第32頁,完全隱式常微分方程,完全隱式常微分方程的形式為:。函數(shù)ode15i用于求解完全隱式常微分方程。用法為:t,y=ode15i(odefun,tspan,y0,yp0,options)Odefun:為待求解方程Tspan:用于指定積分區(qū)間y0和yp0:分別用于指定初值和,

溫馨提示

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

評論

0/150

提交評論