9常微分方程数值解法

上传人:豆浆 文档编号:50769968 上传时间:2018-08-10 格式:PPT 页数:22 大小:438KB
返回 下载 相关 举报
9常微分方程数值解法_第1页
第1页 / 共22页
9常微分方程数值解法_第2页
第2页 / 共22页
9常微分方程数值解法_第3页
第3页 / 共22页
9常微分方程数值解法_第4页
第4页 / 共22页
9常微分方程数值解法_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《9常微分方程数值解法》由会员分享,可在线阅读,更多相关《9常微分方程数值解法(22页珍藏版)》请在金锄头文库上搜索。

1、第9章 常微分方程数值解法南京中医药大学信息技术学院 制作:张季第9章 常微分方程数值解法4.1 概述 4.2 Euler折线法和改进的Euler折线法 4.3 Runge-Kutta方法 4.4 一阶微分方程组与高阶常微分方程初值问题的 数值解法内容提要:本章主要讨论使用数值方法解决一阶常微分 方程初值问题,在此基础上介绍一阶方程组和高 阶微分方程的初值问题的数值解法。常微分方程 数值解法主要介绍欧拉折线法和四阶龙格库塔 法。问题的提出xsinx+sinx3yy+yex2=x3 cosx e-x近似方法求解近似解析法数值方法常微分方程初值问题数值解法 的一般方法1)离散结点的取法:xi=x0

2、+ih2)求取近似解:步进法3)寻求数值解的方法:寻找递推公式Euler方法基本思想:在每一个小积分区间上,用一条切线来代替原 函数曲线。从整体上看,是用一条折线来代替积分曲线, 并以此来求取一系列离散结点处函数的近似值。计算公式及求解过程计算公式:yi+1=yi+(xi+1-xi)y(xi)1)使x1=x0+h,并使用计算公式计算y12)输出x1,y1,并使x0=x1,y0=y1,重复以上过程。程序框图设计使用 欧拉折 线法解 常微分 方程。输入使用欧拉 折线法解 常微分方 程。输出使用计算公式 y1=y0+hf(x0, y0) 计算y1输出x1,y1 x0=x1,y0=y1改进的Euler

3、方法基本思想:在每一个小积分区间上,用一条直线来 代替原函数曲线。此直线较欧拉折线法的切线更近 似于原函数曲线。当然,从整体上看,仍是用一条 折线来代替积分曲线,并以此来求取一系列离散结 点处函数的近似值。计算公式及求解过程1 2计算公式:yp=yi+f(xi,yi)hyc=yi+f(xi+1,yp)hyi+1= (yp+yc)1 2程序框图设计使用 改进的 欧拉折 线法解 常微分 方程。输入使用改进 的欧拉折 线法解常 微分方程 。输出输出x1,y1 使x0=x1,y0=y1, x1=x0+h,并重复上一步使用计算公式 yp=yi+f(xi,yi)h yc=yi+f(xi+1,yp)h yi

4、+1= (yp+yc) 计算y11 2平均斜率由拉格朗日中值定理:y(xi+1)-y(xi)xi+1-xi=y(xi+1)-y(xi)h= y()可得:y(xi+1)-y(xi)=h y()= y(xi+h)根据微分方程给出的条件,上式可写成:y(xi+1)-y(xi)=h fxi+h,y(xi+h)fxi+h,y(xi+h)记为k*,也就是函数y=y(x)在区间 xi,xi+1上的平均斜率。将简单欧拉法的计算公式yi+1=yi+(xi+1-xi)y(xi)与y(xi+1)= y(xi ) + h k* 相比较可知,简单的欧拉法是取k*=f(xi,yi)由改进欧拉法的计算公式可知,k*是用积分

5、区间的两端点处的斜率的算术平均值(k1+k2)/2来近似地替代平均斜率进行求积运算而获得下一个结点函数值。Runge-Kutta方法基本思想:运用步进法,使用公式y(x)=f(x,y)在 xi,xi+1上多求几个结点处的斜率值,然后依据它们 各自对平均斜率k*影响大小进行加权平均而计算得 到的较为准确的平均斜率的近似值,来求取较为准 确的函数值。二阶Runge-Kutta计算公式在区间xi,xi+1上取两点xi和xi+p=xi+ph,以该两点处的 斜率值k1和k2的加权平均来求取平均斜率k*的近似值 K,即:y(xi+1) = y(xi)+ hk= y(xi)+ h(1 k1+ 2k2 )y(

6、xi+1)在x=xi处进行二阶泰勒展开:K=1 k1+ 2k2 k2=f(xi+ph,yi+phk1)y(xi+1) y(xi)+ h y(xi)+ y(xi)h22! k2=y(xi+ph)=f(xi+ph,yi+phk1)在x=xi处进行一阶泰勒展开:k2 y(xi)+ ph y(xi)y(xi+1) = y(xi)+ hk= y(xi)+ h(1 k1+ 2k2 )= y(xi)+ h1 y(xi)+ 2y(xi)+ ph y(xi)= y(xi)+ h(1+ 2)y(xi)+ 2 ph y(xi)将此式与y(xi+1)在x=xi处进行二阶泰勒展开式相比较 可知:凡满足此条件式有一簇形如

7、上式的计算格式,这些格 式统称为二阶龙格库塔格式。1 + 2=12p=1/2四阶Runge-Kutta计算公式yi+1=yi+ (k1+2k2+2k3+k4)k1=f(xi,yi)k2=f(xi+1/2,yi+ k1)k3= f(xi+1/2,yi+ k2)k4= f(xi+1,yi+hk3)h 6h 2 h 2程序框图设计使用 四阶龙 格库 塔法解 常微分 方程。输入使用四阶 龙格库 塔法解常 微分方程 。输出输出x1,y1 使x0=x1,y0=y1, x1=x0+h,并重复上一步计算 k1=f(x0,y0) k2=f(x0+h/2,y0 +hk1/2) k3=f(x0+h/2,y0 +hk

8、2/2) k4=f(x0+h,y0 +hk3)计算 y1=y0+h(k1+k2+k3+k4)/6一阶微分方程组初值问题的 数值解法基本思想:运用步进法,由给出的初始值(x0,y0,z0) 通过计算公式求取(x1,y1,z1);之后,假定(x1,y1,z1) 是准确的,再通过计算公式求取(x2,y2,z2);如此反 复直到求出(xn,yn,zn)为止。计算公式yi+1=yi+h (k1+2k2+2k3+k4) /6 zi+1=zi+h (l1+2l2+2l3+l4) /6 k1=f(xi,yi,zi) l1=g(xi,yi,zi) k2=f(xi+h/2,yi +hk1/2,zi+hl1/2)

9、l2=g(xi+h/2,yi +hk1/2,zi+hl1/2) k3=f(xi+h/2,yi +hk2/2, zi+hl2/2) l3=g(xi+h/2,yi +hk2/2, zi+hl2/2) k4=f(xi+h,yi +hk3,zi+hl3) l4=g(xi+h,yi +hk3,zi+hl3)=f(x,y,z)=g(x,y,z)y(x0)=y0 z(x0)=z0dx dy dz dy高阶常微分方程初值问题的 数值解法基本思想:对于高阶微分方程=fx,y, , , 通常通过引进新变量zn-1= , zn-2= , z1= 将高阶常微分方程化为一阶方程组,然后解一阶方 程组,从而将高阶微分方程解算出来。dny dxndn-1y dxn-1dn-2y dxn-2dy dxdn-1y dxn-1dn-2y dxn-2dy dx小结本章简要介绍了常微分方程数值解的重要性 ,对解算常微分方程的步进法作了详细的说明, 这是本章后面介绍的各种算法的基础。之后介绍 了欧拉折线法和四阶龙格库塔法的数学原理、 算法设计和程序。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号