网站大量收购闲置独家精品文档,联系QQ:2885784924

数学实验(第4版)课件:常微分方程的数值解.ppt

数学实验(第4版)课件:常微分方程的数值解.ppt

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、本文档共30页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

目录上页下页返回结束数值分析实验4.1插值实验4.2离散数据的曲线拟合数学实验实验4.3MATLAB数值积分与微分实验4.4常微分方程的数值解*实验4.4常微分方程的数值解一、几种求常微分方程数值解的方法二、应用举例实验4.4常微分方程的数值解*实验4.4常微分方程的数值解实验目的通过本实验了解常微分方程的数值解的概念,掌握利用MATLAB求常微分方程的数值解的方法.一、几种求常微分方程数值解的方法常微分方程是研究函数变化规律的有力工具,但是绝大多数变系数方程、非线性方程都是所谓“解不出来”的,于是常微分方程的数值解法就成为解常微分方程的主要手段.本实验只考虑初值问题.*实验4.4常微分方程的数值解常微分方程初值问题:保证方程的解存在且惟一在一系列离散点上,求的近似值,通常取等步长h,即因此数值解法得到的近似解是一个离散的函数表.*实验4.4常微分方程的数值解一、几种求常微分方程数值解的方法1.欧拉(Euler)方法欧拉方法是一种最古老、最简单而直观的解微分方程的数值方法,其基本想法是在小区间上用差商代替方程左端的导数,而方程右端已知函数中的x在小区间上的哪一点取值,则有以下不同的方法:*实验4.4常微分方程的数值解(1)向前欧拉公式中的x取小区间的左端点xn,以分别代替,就得到:向前欧拉公式(2)向后欧拉公式中的x取小区间的右端点xn+1,就得到:向后欧拉公式上式右端的yn+1未知,故称为隐式公式,无法用它直接计算yn+1.*实验4.4常微分方程的数值解(3)梯形公式将向前欧拉公式和向后欧拉公式加以平均,得到梯形公式*实验4.4常微分方程的数值解(4)改进的欧拉公式先由向前欧拉公式算出yn+1的预测值,再把它代入梯形公式右端,作为校正,即改进的欧拉公式*实验4.4常微分方程的数值解它还可写作上面4个公式中,我们常用的是便于计算的向前欧拉公式和改进的欧拉公式.*实验4.4常微分方程的数值解2.龙格—库塔(Runge-Kutta)公式在区间内多取几个点,就可以构造出精度更高的计算公式,这就是龙格—库塔公式,它是一类方法的总称.它是欧拉方法的一种推广,也是应用最广的求解常微分方程数值问题的方法.一般的龙格—库塔方法的形式为p阶龙格—库塔方法其中ai,bij,ci为待定参数*实验4.4常微分方程的数值解(1)二阶龙格—库塔公式其中为待定系数.满足:上式有4个未知数而只有3个方程,所以解不唯一,存在无穷多个解,可见二阶龙格—库塔方法是一族公式.改进的欧拉公式*实验4.4常微分方程的数值解(2)四阶经典(标准)龙格—库塔公式实际应用中,用的最多的是四阶龙格—库塔公式四阶龙格—库塔公式也不止一个*实验4.4常微分方程的数值解3.龙格—库塔方法的MATLAB实现在MATLAB中,求微分方程数值解的函数调用格式为[t,x]=solver(’f’,ts,x0,options)自变量值函数值ode45、ode23、ode113、ode15s、ode23s中的一个由待解方程写成的m-文件名=[t0,tf],t0、tf为自变量的初值和终值函数的初值用于设定误差限options=odeset(reltol,rt,abstol,at)默认相对误差为10-3,绝对误差为10-6.相对误差绝对误差*实验4.4常微分方程的数值解在诸多的solver函数中,ode23、ode45都是基于龙格—库塔公式的函数:ode23是采用的2、3阶龙格-库塔组合算法,ode45是采用的4、5阶龙格-库塔组合算法.ode45比ode23精度更高,尤其成为大部分场合的首选算法.注(1)在解n个未知函数的方程组时,x0和x均为n维向量,m-文件中的待解方程组应以x的分量形式写成.(2)使用Matlab软件求数值解时,高阶微分方程必须等价地变换成一阶微分方程组.*例21求微分方程的数值解,解先编写函数文件:functiondx=fun23(t,x)dx=t+x;再求方程的解实验4.4常微分方程的数值解已知精确解为ts=0:0.1:1;x0=1;[t,x]=ode45(fun23,ts,x0);y=2*exp(t)-t-1;[t,x,y]plot(t,x,r-,t,y

文档评论(0)

ning2021 + 关注
实名认证
内容提供者

中医资格证持证人

该用户很懒,什么也没介绍

领域认证该用户于2023年05月10日上传了中医资格证

1亿VIP精品文档

相关文档