matlab积分函数文本文件函数,matlab数值积分与微分.ppt
第 8 章 MATLAB 數值積分與微分 8.1 數值積分 8.2 數值微分 8.1 數值積分 8.1.1 數值積分基本原理 求解定積分的數值方法多種多樣,如簡單 的梯形法、辛普生 (Simpson) ? 法、牛頓-柯 特斯 (Newton-Cotes) 法等都是經常采用的方 法。它們的基本思想都是將整個積分區間 [a,b] 分成 n 個子區間 [x i ,x i+1 ] , i=1,2,…,n ,其 中 x 1 =a , x n+1 =b 。這樣求定積分問題就分解 為求和問題。 8.1.2 數值積分的實現方法 1 .變步長辛普生法 基于變步長辛普生法, MATLAB 給出了 quad 函數來 求定積分。該函數的調用格式為: [I,n]=quad('fname',a,b,tol,trace) 其中 fname 是被積函數名。 a 和 b 分別是定積分的下 限和上限。 tol 用來控制積分精度,缺省時取 tol=0.001 。 trace 控制是否展現積分過程,若取非 0 則展現積分過程,取 0 則不展現,缺省時取 trace=0 。返回參數 I 即定積分值, n 為被積函數的 調用次數。 例 8-1 求定積分。 (1) 建立被積函數文件 fesin.m 。 function f=fesin(x) f=exp(-0.5*x).*sin(x+pi/6); (2) 調用數值積分函數 quad 求定積分。 [S,n]=quad('fesin',0,3*pi) S = 0.9008 n = 77 2 .牛頓-柯特斯法 基于牛頓-柯特斯法, MATLAB 給出了 quad8 函數來求定積分。該函數的調用格式 為: [I,n]=quad8('fname',a,b,tol,trace) 其中參數的含義和 quad 函數相似,只是 tol 的 缺省值取 10-6 。 ? 該函數可以更精確地求出 定積分的值,且一般情況下函數調用的步 數明顯小于 quad 函數,從而保證能以更高 的效率求出所需的定積分值。 例 8-2 求定積分。 (1) 被積函數文件 fx.m 。 function f=fx(x) f=x.*sin(x)./(1+cos(x).*cos(x)); (2) 調用函數 quad8 求定積分。 I=quad8('fx',0,pi) I = 2.4674 例 8-3 分別用 quad 函數和 quad8 函數求定積分的近 似值,并在相同的積分精度下,比較函數的調用 次數。 調用函數 quad 求定積分: format long; fx=inline('exp(-x)'); [I,n]=quad(fx,1,2.5,1e-10) I = 0.28579444254766 n = 65 調用函數 quad8 求定積分: format long; fx=inline('exp(-x)'); [I,n]=quad8(fx,1,2.5,1e-10) I = 0.28579444254754 n = 33 3 .被積函數由一個表格定義 在 MATLAB 中,對由表格形式定義的函數關系的求定積分 問題用 trapz(X,Y) 函數。其中向量 X,Y 定義函數關系 Y=f(X) 。 例 8-4 用 trapz 函數計算定積分。 命令如下: X=1:0.01:2.5; Y=exp(-X); % 生成函數關系數據向量 trapz(X,Y) ans = 0.28579682416393 8.1.3 二重定積分的數值求解 使用 MATLAB 提供的 dblquad 函數 就可以直接求出上述二重定積分的 數值解。該函數的調用格式為: I=dblquad(f,a,b,c,d,tol,trace) 該函數求 f(x,y) 在 [a,b] × [c,d] 區域上 的二重定積分。參數 tol , trace 的 用法與函數 quad 完全相同。 例 8-5 計算二重定積分 (1) 建立一個函數文件 fxy.m : function f=fxy(x,y) global ki; ki=ki+1; %ki 用于統計被積函數的調用次數 f=exp(-x.^2/2).*sin(x.^2+y); (2) 調用 dblquad 函數求解。 global ki;ki=0;
總結
以上是生活随笔為你收集整理的matlab积分函数文本文件函数,matlab数值积分与微分.ppt的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 输电线路状态监测装置通用技术规范即I1协
- 下一篇: matlab人脸追踪,求大神帮助我这个菜