




已阅读5页,还剩13页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第6章数值微积分与常微分方程求解,在许多实际问题中要采用数值方法来求函数的微分或积分。而在实际问题中遇到的常微分方程往往很复杂,在许多情况下得不出一般解,所以,一般是要求获得解在若干个点上的近似值。【本章学习目标】掌握微分与积分的数值计算方法。掌握常微分方程的数值求解方法。,6.1数值微分,6.1.1数值差分与差商,6.1.2数值微分的实现数值微分的基本思想是先用逼近或拟合等方法将已知数据在一定范围内的近似函数求出,再用特定的方法对此近似函数进行微分。1多项式求导法用多项式或样条函数g(x)对f(x)进行逼近(插值或拟合),然后用逼近函数g(x)在点x处的导数作为f(x)在点x处的导数。该种方法一般只用在低阶数值微分。2用diff函数计算差分用f(x)在点x处的某种差商作为其导数。在MATLAB中,提供计算向前差分的函数diff,其调用格式如下。DX=diff(X):计算向量X的向前差分,DX(i)=X(i+1)X(i),i=1,2,n1。DX=diff(X,n):计算X的n阶向前差分。例如,diff(X,2)=diff(diff(X)。DX=diff(A,n,dim):计算矩阵A的n阶差分,dim=1时(默认状态),按列计算差分;dim=2,按行计算差分。对于求向量的微分,函数diff计算的是向量元素间的差分,故所得输出比原向量少了一个元素。,【例6.1】设f(x)=sinx,用不同的方法求函数f(x)的数值导数,并在同一个坐标系中做出f(x)的图像。x=0:pi/24:pi;%用5次多项式p拟合f(x),并对拟合多项式p求导数dp在假设点的函数值p=polyfit(x,sin(x),5);dp=polyder(p);dpx=polyval(dp,x);%直接对sin(x)求数值导数dx=diff(sin(x,pi+pi/24)/(pi/24);%求函数f的导函数g在假设点的导数gx=cos(x);%作图plot(x,dpx,x,dx,o,x,gx,+);,对于求矩阵的差分,即为求各列或各行向量的差分,从向量的差分值可以判断列或行向量的单调性、是否等间距以及是否有重复的元素。【例6.2】生成一个5阶魔方矩阵,按列进行差分运算。M=magic(5)M=17241815235714164613202210121921311182529DM=diff(M)%计算M的一阶差分DM=619661191666666119166196可以看出,diff函数对矩阵的每一列都进行差分运算,因而结果矩阵的列数是不变的,只有行数减1。矩阵DM第3列值相同,表明原矩阵第3列是等间距的。,6.2.2定积分的数值求解实现1自适应辛普生法MATLAB提供了基于自适应Simpson法的quad函数和自适应Lobatto法的quadl函数来求定积分。函数的调用格式为I,n=quad(fname,a,b,tol,trace)I,n=quadl(fname,a,b,tol,trace)其中fname是被积函数名。a和b分别是定积分的下限和上限。tol用来控制积分精度,默认时取tol=10-6。trace控制是否展现积分过程,若取非0则展现积分过程,取0则不展现,默认时取trace=0。返回参数I即定积分值,n为被积函数的调用次数。【例6.3】求S=。(1)建立被积函数文件fe.m。functionf=fe(x)f=x.*sin(x)./(1+abs(cos(x);(2)调用数值积分函数quad求定积分。quad(fe,0,pi),一般情况下,quadl函数调用的步数明显小于quad函数,而且精度更高,从而保证能以更高的效率求出所需的定积分值。【例6.4】分别用quad函数和quadl函数求椭圆积分的近似值,并在相同的积分精度下,比较函数的调用次数。调用函数quad求定积分:formatlong;fx=inline(1./sqrt(1+X.4);%定义一个语句函数I,n=quad(fx,0,1,1e-10)%注意函数名不加号I=0.927037338654481n=113调用函数quadl求定积分:I,n=quadl(fx,0,1,1e-10)I=0.927037338650659n=48,2高斯-克朗罗德法MATLAB提供了基于自适应高斯-克朗罗德法的quadgk函数来求振荡函数的定积分。该函数的调用格式为I,err=quadgk(fname,a,b)其中,err返回近似误差范围,其他参数的含义和用法与quad函数相同。积分上下限可以是Inf或Inf,也可以是复数。如果积分上下限是复数,则quadgk在复平面上求积分。【例6.5】求定积分(1)建立被积函数文件feln.m。functiony=feln(x)y=exp(x).*log(x);(2)调用数值积分函数quadgk求定积分。formatlong;I=quadgk(feln,0,1)I=1.317902162414081也可使用匿名函数方法求解:I=quadgk(x)(exp(x).*log(x),0,1);匿名函数是构造简单函数的一种方法,是函数指针,第1个括号里面是自变量,第2个括号里面是代表函数运算的表达式。,3梯形积分法在MATLAB中,对由表格形式定义的函数关系的求定积分问题用梯形积分函数trapz。该函数调用格式如下。T=trapz(Y):若Y是一向量,则从1开始取单位步长,以Y的值为函数值计算积分值。若Y是一矩阵,则计算Y的每一列的积分。例如:trapz(1:5;2:6)ans=1216T=trapz(X,Y):向量X、Y定义函数关系Y=f(X)。X、Y是两个等长的向量:X=(x1,x2,xn),Y=(y1,y2,yn),并且x1x2xn,积分区间是x1,xn。,6.2.3多重定积分的数值求解实现定积分的被积函数是一元函数,积分范围是一个区间;而重积分的被积函数是二元函数或三元函数,积分范围是平面上的一个区域或空间中的一个区域。MATLAB中提供的dblquad函数用于求的数值解,triplequad函数用于求的数值解。函数的调用格式为dblquad(fun,a,b,c,d,tol,trace)triplequad(fun,a,b,c,d,e,f,tol,trace)其中,fun为被积函数,a,b为x的积分区域,c,d为y的积分区域,e,f为z的积分区域,参数tol、trace的用法与函数quad完全相同。,【例6.7】计算二重定积分(1)建立一个函数文件fxy.m:functionf=fxy(x,y)globalki;ki=ki+1;%ki用于统计被积函数的调用次数f=exp(-x.2/2).*sin(x.2+y);(2)调用dblquad函数求解:globalki;ki=0;I=dblquad(fxy,-2,2,-1,1)ki如果使用inline函数,则命令如下:f=inline(exp(-x.2/2).*sin(x.2+y),x,y);I=dblquad(f,-2,2,-1,1),6.3常微分方程的数值求解,常微分方程初值问题的数值解法,首先要解决是建立求数值解的递推公式。递推公式通常有两类,一类是计算yi+1时只用到xi+1、xi和yi,即前一步的值,此类方法称为单步法,其代表是龙格-库塔(Runge-Kutta)法。另一类是计算yi+1时,需要前面k步的值,此类方法称为多步法,其代表是亚当姆斯(Adams)法。这些方法都是基于把一个连续的定解问题离散化为一个差分方程来求解,是一种步进式的方法。,常微分方程的初值问题:,数值解法:求它的解y(t)在节点t0t1tm处的近似值y0,y1,ym的方法。所求得的y0,y1,ym称为常微分方程初值问题的数值解。,6.3.1龙格-库塔法简介,6.3.2常微分方程数值求解的实现MATLAB提供了多个求常微分方程数值解的函数,一般调用格式为t,y=solver(fname,tspan,y0,options)其中t和y分别给出时间向量和相应的状态向量。solver为求常微分方程数值解的函数ode23、ode45、ode113、ode23t、ode15s、ode23s、ode23tb、ode15i之一,表6.1所示为各函数的采用方法和适用问题。fname是定义f(t,y)的函数文件名,该函数文件必须返回一个列向量。tspan形式为t0,tf,表示求解区间。y0是初始状态列向量。options(用命令odeset生成)设置求解属性,常用的属性包括相对误差值RelTol(默认时为103)与绝对误差向量AbsTol(默认时每一元素为106)。,若微分方程描述的一个变化过程包含着多个相互作用但变化速度相差十分悬殊的子过程,这样一类过程就认为具有“刚性”,这类方程具有非常分散的特征值。求解刚性方程的初值问题的解析解是困难的,常采用表6.1中的函数ode15s、ode23s和ode23tb求其数值解。求解非刚性的一阶常微分方程或方程组的初值问题的数值解常采用函数ode23和ode45,其中ode23采用2阶龙格-库塔算法,用3阶公式作误差估计来调节步长,具
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 初中消防安全培训方案课件
- 内蒙访古全文课件制作
- 化学实验安全培训的意义
- 内蒙古电力安全培训课件
- 化学安全知识培训课件
- 创建省级卫生村课件
- 2《与妻书》 公开课一等奖创新教学设计统编版高中语文必修下册
- 先天性输尿管狭窄课件
- 毛囊结构遗传学-洞察及研究
- 化妆品监管课件
- (完整版)文化体育馆建设项目可行性研究报告(完整版)
- 狼疮性脑病的护理查房
- 2023年骨科疾病诊疗指南(中华医学会骨科学分会)
- 中国昆曲课件
- 2025国开电大知识产权法形考作业1234答案
- 公司内部电子发票管理制度
- 市政道路工程新技术、新产品、新工艺、新材料应用
- 2025届上海市高考英语考纲词汇表
- 浙江荣鑫金属制品有限公司年产2万米母线槽、2万套电缆桥架、2万套配电箱、60万套偏心套、60万套离合器摇臂齿轮技改项目环评报告
- 2025新SA8000全套社会责任管理手册及程序文件
- 物业专项维修资金培训
评论
0/150
提交评论