第8章matlab數(shù)值積分與微分_第1頁
第8章matlab數(shù)值積分與微分_第2頁
第8章matlab數(shù)值積分與微分_第3頁
第8章matlab數(shù)值積分與微分_第4頁
第8章matlab數(shù)值積分與微分_第5頁
已閱讀5頁,還剩9頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第8章 MATLAB數(shù)值積分與微分8.1 數(shù)值積分8.2 數(shù)值微分8.1 數(shù)值積分8.1.1 數(shù)值積分基本原理 求解定積分的數(shù)值方法多種多樣,如簡(jiǎn)單的梯形法、辛普生(Simpson)法、牛頓柯特斯(Newton-Cotes)法等都是經(jīng)常采用的方法。它們的基本思想都是將整個(gè)積分區(qū)間a,b分成n個(gè)子區(qū)間xi,xi+1,i=1,2,n,其中x1=a,xn+1=b。這樣求定積分問題就分解為求和問題。8.1.2 數(shù)值積分的實(shí)現(xiàn)方法1變步長辛普生法基于變步長辛普生法,MATLAB給出了quad函數(shù)來求定積分。該函數(shù)的調(diào)用格式為: I,n=quad(fname,a,b,tol,trace)其中fname是被

2、積函數(shù)名。a和b分別是定積分的下限和上限。tol用來控制積分精度,缺省時(shí)取tol=0.001。trace控制是否展現(xiàn)積分過程,若取非0則展現(xiàn)積分過程,取0則不展現(xiàn),缺省時(shí)取trace=0。返回參數(shù)I即定積分值,n為被積函數(shù)的調(diào)用次數(shù)。 例8-1 求定積分。 (1) 建立被積函數(shù)文件fesin.m。function f=fesin(x)f=exp(-0.5*x).*sin(x+pi/6); (2) 調(diào)用數(shù)值積分函數(shù)quad求定積分。S,n=quad(fesin,0,3*pi)S = 0.9008n = 772牛頓柯特斯法基于牛頓柯特斯法,MATLAB給出了quad8函數(shù)來求定積分。該函數(shù)的調(diào)用格

3、式為:I,n=quad8(fname,a,b,tol,trace)其中參數(shù)的含義和quad函數(shù)相似,只是tol的缺省值取10-6。該函數(shù)可以更精確地求出定積分的值,且一般情況下函數(shù)調(diào)用的步數(shù)明顯小于quad函數(shù),從而保證能以更高的效率求出所需的定積分值。例8-2 求定積分。(1) 被積函數(shù)文件fx.m。function f=fx(x)f=x.*sin(x)./(1+cos(x).*cos(x);(2) 調(diào)用函數(shù)quad8求定積分。I=quad8(fx,0,pi)I = 2.4674例8-3 分別用quad函數(shù)和quad8函數(shù)求定積分的近似值,并在相同的積分精度下,比較函數(shù)的調(diào)用次數(shù)。調(diào)用函數(shù)q

4、uad求定積分:format long;fx=inline(exp(-x);I,n=quad(fx,1,2.5,1e-10)I = 0.28579444254766n = 65 調(diào)用函數(shù)quad8求定積分:format long;fx=inline(exp(-x);I,n=quad8(fx,1,2.5,1e-10)I = 0.28579444254754n = 333被積函數(shù)由一個(gè)表格定義在MATLAB中,對(duì)由表格形式定義的函數(shù)關(guān)系的求定積分問題用trapz(X,Y)函數(shù)。其中向量X,Y定義函數(shù)關(guān)系Y=f(X)。例8-4 用trapz函數(shù)計(jì)算定積分。命令如下:X=1:0.01:2.5;Y=ex

5、p(-X); %生成函數(shù)關(guān)系數(shù)據(jù)向量trapz(X,Y)ans = 0.285796824163938.1.3 二重定積分的數(shù)值求解使用MATLAB提供的dblquad函數(shù)就可以直接求出上述二重定積分的數(shù)值解。該函數(shù)的調(diào)用格式為:I=dblquad(f,a,b,c,d,tol,trace)該函數(shù)求f(x,y)在a,bc,d區(qū)域上的二重定積分。參數(shù)tol,trace的用法與函數(shù)quad完全相同。例8-5 計(jì)算二重定積分(1) 建立一個(gè)函數(shù)文件fxy.m:function f=fxy(x,y)global ki;ki=ki+1; %ki用于統(tǒng)計(jì)被積函數(shù)的調(diào)用次數(shù)f=exp(-x.2/2).*sin

6、(x.2+y);(2) 調(diào)用dblquad函數(shù)求解。global ki;ki=0;I=dblquad(fxy,-2,2,-1,1)kiI = 1.57449318974494ki = 10388.2 數(shù)值微分8.2.1 數(shù)值差分與差商8.2.2 數(shù)值微分的實(shí)現(xiàn)在MATLAB中,沒有直接提供求數(shù)值導(dǎo)數(shù)的函數(shù),只有計(jì)算向前差分的函數(shù)diff,其調(diào)用格式為:DX=diff(X):計(jì)算向量X的向前差分,DX(i)=X(i+1)-X(i),i=1,2,n-1。DX=diff(X,n):計(jì)算X的n階向前差分。例如,diff(X,2)=diff(diff(X)。DX=diff(A,n,dim):計(jì)算矩陣A的

7、n階差分,dim=1時(shí)(缺省狀態(tài)),按列計(jì)算差分;dim=2,按行計(jì)算差分。例8-6 生成以向量V=1,2,3,4,5,6為基礎(chǔ)的范得蒙矩陣,按列進(jìn)行差分運(yùn)算。命令如下:V=vander(1:6)DV=diff(V) %計(jì)算V的一階差分例8-7 用不同的方法求函數(shù)f(x)的數(shù)值導(dǎo)數(shù),并在同一個(gè)坐標(biāo)系中做出f(x)的圖像。程序如下:f=inline(sqrt(x.3+2*x.2-x+12)+(x+5).(1/6)+5*x+2);g=inline(3*x.2+4*x-1)./sqrt(x.3+2*x.2-x+12)/2+1/6./(x+5).(5/6)+5);x=-3:0.01:3;p=polyfit(x,f(x),5); %用5次多項(xiàng)式p擬合f(x)dp=polyder(p); %對(duì)擬合多項(xiàng)式p求導(dǎo)數(shù)dpdpx=polyva

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論