数学实验 常微分方程数值解_第1页
数学实验 常微分方程数值解_第2页
数学实验 常微分方程数值解_第3页
数学实验 常微分方程数值解_第4页
数学实验 常微分方程数值解_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、大学数学实验,Mathematical Experiments,实验4 常微分方程数值解,为什么要学习微分方程数值解,微分方程是研究函数变化规律的重要工具,有着广泛的应用。如: 物体的运动, 电路的电压, 人口增长的预测 许多微分方程没有解析解,数值解法是求解的重要手段,如,实验4的基本内容,3. 实际问题用微分方程建模,并求解,2. 龙格-库塔方法的MATLAB实现,*4. 数值算法的收敛性、稳定性与刚性方程,两个最常用的数值算法:,欧拉(Euler)方法 龙格-库塔(Runge-Kutta)方法,实例1 海上缉私,海防某部缉私艇上的雷达发现正东方向c海里处有一艘走私船正以速度a向正北方向行

2、驶,缉私艇立即以最大速度b(a)前往拦截。如果用雷达进行跟踪时,可保持缉私艇的速度方向始终指向走私船。,建立任意时刻缉私艇位置及 航线的数学模型,并求解; 求出缉私艇追上走私船的时间。,实例1 海上缉私,建立坐标系如图: t=0 艇在(0, 0), 船在(c, 0); 船速a, 艇速b 时刻 t 艇位于P(x, y), 船到达 Q(c, at),模型:,由方程无法得到x(t), y(t)的解析解 需要用数值解法求解,“常微分方程初值问题数值解”的提法,不求解析解 y = y(x) (无解析解或求解困难),而在一系列离散点,通常取等步长h,欧 拉 方 法,基本思路,x取不同点,各种欧拉公式,向前

3、欧拉公式,显式公式,欧 拉 方 法,向后欧拉公式 隐式公式,向前欧拉公式,向后欧拉公式,二者平均得到梯形公式,仍为隐式公式,需迭代求解,将梯形公式的迭代过程简化为两步,预测,校正,改进欧拉公式,龙格-库塔方法,向前,向后欧拉公式: 用xn, xn+1内个点的导 数代替 f(x, y(x),梯形公式,改进欧拉公式: 用xn, xn+1内个点导数的平均值代替 f(x, y(x),龙格-库塔方法的基本思想,在xn, xn+1内多取几个点,将它们的导数加权平均代替 f(x, y(x),设法构造出精度更高的计算公式。,常用的(经典) 龙格库塔公式,不足:收敛速度较慢,L级?阶,龙格-库塔方法的 一般形式

4、,使精度尽量高,4级4阶,微分方程组和高阶方程初值问题的数值解,欧拉方法和龙格-库塔方法可直接推广到微分方程组,高阶方程需要先降阶为一阶微分方程组,龙格库塔方法的 MATLAB 实现,t,x=ode23(f,ts,x0,opt) 3级2阶龙格-库塔公式,t,x=ode45(f,ts,x0,opt) 5级4阶龙格-库塔公式,f是待解方程写成的函数m文件:,function dx=f(t,x) dx=f1; f2; fn;,ts = t0,t1, ,tf,输出指定时刻 t0,t1, ,tf 的函数值,ts = t0:k:tf,输出 t0,tf 内等分点处的函数值,x0为函数初值(n维),输出t=t

5、s, x为相应函数值(n维),opt为选项,缺省时精度为:相对误差10-3,绝对误差10-6, 计算步长按精度要求自动调整,实例1 海上缉私(续),模型的数值解,设: 船速a=20 (海里/小时) 艇速b=40 (海里/小时) 距离c=15 (海里),求: 缉私艇的位置x(t),y(t) 缉私艇的航线y(x),jisi.m, seajisi.m,实例1 海上缉私(续),模型的数值解,a=20, b=40, c=15,走私船的位置x1(t)= c=15 y1(t)=at=20t,t=0.5时缉私艇追上走私船,缉私艇的航线y(x),实例1 海上缉私(续),模型的数值解,设b,c不变,a变大为30,

6、 35, 接近40, 观察解的变化 :,a=35, b=40, c=15,t=? 缉私艇追上走私船,累积误差较大,提高精度!,实例1 海上缉私(续),模型的数值解,a=35, b=40, c=15,opt=odeset(RelTol,1e-6, AbsTol,1e-9); t,x=ode45(jisi,ts,x0,opt);,t=1.6时缉私艇追上走私船,缉私艇的航线y(x),判断“追上”的有效方法?,实例1 海上缉私(续),模型的解析解,实例1 海上缉私(续),模型的解析解,缉私艇的航线y(x)的解析解,x=c时,缉私艇追上走私船的y坐标,缉私艇追上走私船的时间:,a=20, b=40, c

7、=15 t1=0.5,a=35, b=40, c=15 t1=1.6,微分方程数值解法的误差分析,数值解法: 计算微分方程精确解y(xn)的近似值yn,按照步长h一步步计算, 每步都有误差;,每一步的误差会逐步积累, 称累积误差.,讨论计算一步出现的误差,假定yn= y(xn) , 估计yn+1的误差: y(xn+1)- yn+1,局部截断误差,误差分析,估计欧拉公式的局部截断误差,y(xn+1)在xn处作Taylor展开:,向前欧拉公式,yn= y(xn),局部截断误差主项为,误差分析,估计欧拉公式的局部截断误差,向后欧拉公式,局部截断误差主项为,梯形公式,向前、向后欧拉公式的平均,误差分析

8、,算法精度的阶的定义,一个算法的局部截断误差为O(hp+1),局部截断误差,精度,向前欧拉公式,O(h2),1阶,向后欧拉公式,O(h2),1阶,梯形公式,O(h3),2阶,改进欧拉公式,O(h3),2阶,经典龙格-库塔公式,O(h5),4阶,实 例 2 弱 肉 强 食,问题,自然界中同一环境下两个种群之间的生存方式,相互竞争,相互依存,弱肉强食,弱肉强食,种群甲靠丰富的自然资源生存,食饵(Prey),种群乙靠捕食种群甲为生,捕食者(Predator),两个种群的数量如何演变?,历史背景一次世界大战期间地中海渔业的捕捞量下降(食用鱼和鲨鱼同时捕捞),但是其中鲨鱼的比例却增加,为什么?,实 例

9、2 弱 肉 强 食,模型,食饵(甲) 的密度x(t), 捕食者(乙)的密度y(t),甲独立生存的增长率r,乙使甲的增长率减小,减小量与 y 成正比,乙独立生存的死亡率d,甲使乙的死亡率减小,减小量与 x成正比,Volterra模型,x(t), y(t)无解析解,实例2 弱肉强食,模型的数值解,猜测,x(t), y(t)是周期函数;,y(x)是封闭曲线,数值积分计算一个周期的平均值:,shier.m, shier1.m,实例2 弱肉强食,模型的解析解,c由初始条件确定,相轨线是封闭曲线 (c在一定范围内),求x(t),y(t)一周期的平均值:,可以证明,实例2 弱肉强食,模型的解析解,x(t),

10、y(t)一周期的平均值:,r 食饵增长率,a 捕食者对食饵的捕获能力,d 捕食者死亡率,b 食饵对捕食者的喂养能力,结果解释,与计算结果同,既相互制约 又相互依存,x(t) 的“相位”领先 y(t),进一步分析,初值,相轨线的方向,一次大战期间地中海渔业的捕捞量下降,但是其中鲨鱼的比例却在增加,为什么?,rr-1, dd+1,捕捞,战时捕捞,rr-2, dd+2 , 2 0微分方程稳定,向前欧拉公式,向后欧拉公式,经典龙格-库塔公式,刚性现象与刚性方程,振动系统或电路系统的数学模型,现象,k=2000.5, r=1000, a=1, b=-1999.5, f(t)=1,瞬态解与稳态解,e-2000t 快瞬态解,e-t/2 慢瞬态解,计算到t=0.005时已衰减到4.510-5,计算到t=20时才衰减到4.510-5,精度达到10-4需算到t=20(由慢瞬态解=1/2决定),选取步长h由快瞬态解=2000决定,h2.785/2000=0.0014,龙格-库塔公式,t=20需14286步,快、慢瞬态解的特征根相差悬殊,求稳态解,刚性现象与刚性方程,刚性方程,振动、电路及化学反应中的线性常系数方程组,A的特征根k (k=1,2,n) 的实部Re(k)10,刚性非线性方程组,线性常系数方程组,刚性现象与刚性方程,刚性方程的MATLAB求解,ode23, ode45 解刚性方程的困难,步

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论