MATLAB數(shù)值積分微分.ppt_第1頁
MATLAB數(shù)值積分微分.ppt_第2頁
MATLAB數(shù)值積分微分.ppt_第3頁
MATLAB數(shù)值積分微分.ppt_第4頁
MATLAB數(shù)值積分微分.ppt_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

MATLAB數(shù)值積分與微分 數(shù)值積分 數(shù)值微分,數(shù)值積分基本原理,求解定積分的數(shù)值方法多種多樣,如簡單的梯形法、辛普生(Simpson)法、牛頓柯特斯(Newton-Cotes)法等都是經(jīng)常采用的方法。 基本思想都是將整個積分區(qū)間a,b分成n個子區(qū)間xi,xi+1,i=1,2,n,其中x1=a,xn+1=b。這樣求定積分問題就分解為求和問題。,數(shù)值積分的實現(xiàn)方法,1變步長辛普生法 基于變步長辛普生法,MATLAB給出了quad函數(shù)來求定積分。該函數(shù)的調用格式為: I,n=quad(fname,a,b,tol,trace) 其中fname是被積函數(shù)名。a和b分別是定積分的下限和上限。tol用來控制積分精度,缺省時取tol=0.001。trace控制是否展現(xiàn)積分過程,若取非0則展現(xiàn)積分過程,取0則不展現(xiàn),缺省時取trace=0。返回參數(shù)I即定積分值,n為被積函數(shù)的調用次數(shù)。,例 求定積分。 (1) 建立被積函數(shù)文件fesin.m。 function f=fesin(x) f=exp(-0.5*x).*sin(x+pi/6); (2) 調用數(shù)值積分函數(shù)quad求定積分。 S,n=quad(fesin,0,3*pi) S = 0.9008 n = 77,2牛頓柯特斯法 基于牛頓柯特斯法,MATLAB給出了quad8函數(shù)來求定積分。該函數(shù)的調用格式為: I,n=quad8(fname,a,b,tol,trace) 其中參數(shù)的含義和quad函數(shù)相似,只是tol的缺省值取10-6。該函數(shù)可以更精確地求出定積分的值,且一般情況下函數(shù)調用的步數(shù)明顯小于quad函數(shù),從而保證能以更高的效率求出所需的定積分值。,例 求定積分。 (1) 被積函數(shù)文件fx.m。 function f=fx(x) f=x.*sin(x)./(1+cos(x).*cos(x); (2) 調用函數(shù)quad8求定積分。 I=quad8(fx,0,pi) I = 2.4674,例 分別用quad函數(shù)和quad8函數(shù)求定積分的近似值,并在相同的積分精度下,比較函數(shù)的調用次數(shù)。 調用函數(shù)quad求定積分: format long; fx=inline(exp(-x); I,n=quad(fx,1,2.5,1e-10) I = 0.28579444254766 n = 65,調用函數(shù)quad8求定積分: format long; fx=inline(exp(-x); I,n=quad8(fx,1,2.5,1e-10) I = 0.28579444254754 n = 33,3被積函數(shù)由一個表格定義 在MATLAB中,對由表格形式定義的函數(shù)關系的求定積分問題用trapz(X,Y)函數(shù)。其中向量X,Y定義函數(shù)關系Y=f(X)。 例 用trapz函數(shù)計算定積分。 命令如下: X=1:0.01:2.5; Y=exp(-X); %生成函數(shù)關系數(shù)據(jù)向量 trapz(X,Y) ans = 0.28579682416393,humps 函數(shù),quad(humps,0,1,1.e-4),例,ans = 29.8581,syms x h = 1/(x-.3)2+.01) + 1/(x-.9)2+.04) - 6 I = int(h),D = simple(int(h,0,1) Qexact = double(D),for k=1:12 tol=10(-k); Q,fcount=quadtx(humps,0,1,tol); err=Q-Qexact; ratio=err/tol; fprintf(%8.0e %21.14f %7d %13.3e %9.3fn,. tol,Q,fcount,err,ratio), end,tol Q count err ratio 1e-001 29.83328444174864 25 -2.504e-002 -0.250 1e-002 29.85791444629948 41 -4.109e-004 -0.041 1e-003 29.85834299237637 69 1.760e-005 0.018 1e-004 29.85832444437543 93 -9.511e-007 -0.010 1e-005 29.85832551548643 149 1.200e-007 0.012 1e-006 29.85832540194041 265 6.442e-009 0.006 1e-007 29.85832539499819 369 -5.005e-010 -0.005 1e-008 29.85832539552631 605 2.763e-011 0.003 1e-009 29.85832539549604 1061 -2.640e-012 -0.003 1e-010 29.85832539549890 1469 2.274e-013 0.002 1e-011 29.85832539549867 2429 -7.105e-015 -0.001 1e-012 29.85832539549867 4245 0.000e+000 0.000,二重定積分的數(shù)值求解,使用MATLAB提供的dblquad函數(shù)就可以直接求出二重定積分的數(shù)值解。該函數(shù)的調用格式為: I=dblquad(f,a,b,c,d,tol,trace) 該函數(shù)求f(x,y)在a,bc,d區(qū)域上的二重定積分。參數(shù)tol,trace的用法與函數(shù)quad完全相同。,例 計算二重定積分 (1) 建立一個函數(shù)文件fxy.m: function f=fxy(x,y) global ki; ki=ki+1; %ki用于統(tǒng)計被積函數(shù)的調用次數(shù) f=exp(-x.2/2).*sin(x.2+y); (2) 調用dblquad函數(shù)求解。 global ki;ki=0; I=dblquad(fxy,-2,2,-1,1) ki I = 1.57449318974494 ki = 1038,數(shù)值微分的實現(xiàn),在MATLAB中,沒有直接提供求數(shù)值導數(shù)的函數(shù),只有計算向前差分的函數(shù)diff,其調用格式為: DX=diff(X):計算向量X的向前差分,DX(i)=X(i+1)-X(i),i=1,2,n-1。 DX=diff(X,n):計算X的n階向前差分。例如,diff(X,2)=diff(diff(X)。 DX=diff(A,n,dim):計算矩陣A的n階差分,dim=1時(缺省狀態(tài)),按列計算差分;dim=2,按行計算差分。,例 生成以向量V=1,2,3,4,5,6為基礎的范得蒙矩陣,按列進行差分運算。 命令如下: V=vander(1:6) DV=diff(V) %計算V的一階差分,V = 1 1 1 1 1 1 32 16 8 4 2 1 243 81 27 9 3 1 1024 256 64 16 4 1 3125 625 125 25 5 1 7776 1296 216 36 6 1,DV = 31 15 7 3 1 0 211 65 19 5 1 0 781 175 37 7 1 0 2101 369 61 9 1 0 4651 671 91 11 1 0,例 用不同的方法求函數(shù)f(x)的數(shù)值導數(shù),并在同一個坐標系中做出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次多

溫馨提示

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

評論

0/150

提交評論