ImageVerifierCode 换一换
格式:PPT , 页数:17 ,大小:154KB ,
资源ID:6087061      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-6087061.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(第7章 MATLAB数值积分与数值微分.ppt)为本站会员(HR专家)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

第7章 MATLAB数值积分与数值微分.ppt

1、第7章 MATLAB数值积分与数值微分,MATLAB数值积分MATLAB数值微分,7.1 数值积分 7.1.1 数值积分基本原理求解定积分的数值方法多种多样,如简单方法:梯形法、辛普生(Simpson)法、牛顿柯特斯(Newton-Cotes)法等方法。它们的基本思想都是将整个积分区间a,b分成n个子区间xi,xi+1,i=1,2,n,其中x1=a,xn+1=b。求定积分问题就分解为求和问题。,7.1.2 数值积分的实现方法 1变步长辛普生法 基于变步长辛普生法,MATLAB给出了quad函数和quadl函数来求定积分。函数的调用格式为: I,n=quad(fname,a,b,tol,trac

2、e) I,n=quadl(fname,a,b,tol,trace) 其中,fname是被积函数名。a和b分别是定积分的下限和上限。tol用来控制积分精度,默认时取tol=10-6。trace控制是否展现积分过程,若取非0则展现积分过程,取0则不展现,默认时取trace=0。返回参数I即定积分值,n为被积函数的调用次数。,例7-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,

3、也可不建立关于被积函数的函数文件,而使用语句函数(内联函数)求解,命令如下: g=inline(exp(-0.5*x).*sin(x+pi/6); %定义一个语句函数 S,n=quad(g,0,3*pi) %注意函数名不加号 S =0.9008 n =77,例7-2 分别用quad函数和quadl函数求的近似值,并在相同的积分精度下,比较函数的调用次数。 调用函数quad求定积分: format long fx=inline(exp(-x); I,n=quad(fx,1,2.5,1e-10) I =0.285794442547663 n =65,调用函数quadl求定积分: format lo

4、ng fx=inline(exp(-x); I,n=quadl(fx,1,2.5,1e-10) I =0.285794442548811 n =18 format short,2高斯-克朗罗德法 MATLAB提供了基于自适应高斯-克朗罗德法的quadgk函数来求振荡函数的定积分。该函数的调用格式为 I,err=quadgk(fname,a,b) 其中,err返回近似误差范围,其他参数的含义和用法与quad函数相同。积分上下限可以是Inf或Inf,也可以是复数。如果积分上下限是复数,则quadgk在复平面上求积分。,例7-3 求定积分。 (1) 被积函数文件fx.m。 function f=fx

5、(x) f=x.*sin(x)./(1+cos(x).*cos(x); (2) 调用函数quadgk求定积分。 I=quadgk(fx,0,pi) I =2.4674,3梯形积分法 在科学实验和工程应用中,函数关系往往是不知道的,只有实验测定的一组样本点和样本值,这时,人们就无法使用quad等函数计算其定积分。在MATLAB中,对由表格形式定义的函数关系的求定积分问题用梯形积分函数trapz。该函数调用格式如下: I=trapz(X,Y) 其中,向量X,Y定义函数关系Y = f(X)。,例7-4 用trapz函数计算定积分。 命令如下: X=1:0.01:2.5; Y=exp(-X); %生成

6、函数关系数据向量 trapz(X,Y) ans =0.2858,7.1.3 多重定积分的数值求解 MATLAB提供的dblquad函数用于求二重积分的数值解,triplequad函数用于求三重积分的数值解。函数的调用格式为 dblquad(fun,a,b,c,d,tol) triplequad(fun,a,b,c,d,e,f,tol) 其中,fun为被积函数,a,b为x的积分区域,c,d为y的积分区域,e,f 为z的积分区域,参数tol的用法与函数quad完全相同。,例7-5 计算二重定积分 (1)建立一个函数文件fxy.m: function f=fxy(x,y) f=exp(-x.2/2)

7、.*sin(x.2+y);(2)调用dblquad函数求解。 I=dblquad(fxy,-2,2,-1,1) I = 1.5745,如果使用inline函数,则命令如下: f=inline(exp(-x.2/2).*sin(x.2+y),x,y); I=dblquad(f,-2,2,-1,1) I = 1.5745,例7-6 计算三重定积分 命令如下: fxyz=inline(4*x.*z.*exp(-z.*z.*y-x.*x),x,y,z); triplequad(fxyz,0,pi,0,pi,0,1,1e-7) ans= 1.7328,7.2 数值微分 7.2.1 数值差分与差商 7.2

8、.2 数值微分的实现 在MATLAB中,没有直接提供求数值导数的函数,只有计算向前差分的函数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时(缺省状态),按列计算差分;dim=2,按行计算差分。,例7-8 用不同的方法求函数f(x)的数值导数,并在同一个坐标系中做出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次多项式p拟合f(x) dp=polyder(p); %对拟合多项式p求导数dp dpx=polyval(dp,x); %求dp在假设点的函数值 dx=diff(f(x,3.01)/0.01; %直接对f(x)求数值导数 gx=g(x); %求函数f的导函数g在假设点的导数 plot(x,dpx,x,dx,.,x,gx,-); %作图,

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报