计算方法 14 欧拉公式-常微分方程
常微分方程数值解法的误差分析汇总
淮北师范大学2013届学士学位论文常微分方程数值解法的误差分析学院、专业数学科学学院数学与应用数学研究方向计算数学学生姓名李娜学号 20091101070指导教师姓名陈昊指导教师职称讲师年月日常微分方程数值解法的误差分析李娜(淮北师范大学数学科学学院,淮北,235000)摘要自然界与工程技术中的很多现象,往往归结为常微分方程定解问题。
许多偏微分方程问题也可以化为常微分方程问题来近似求解。
因此,研究常微分方程的数值解法是有实际应用意义的。
数值解法是一种离散化的数学方法,可以求出函数的精确解在自变量一系列离散点处的近似值。
随着计算机计算能力的增强以及数值计算方法的发展,常微分方程的数值求解方法越来越多,比较成熟的有Euler 法、后退Euler法、梯形方法、Runge—Kutta方法、投影法和多步法,等等.本文将对这些解的误差进行分析,以求能够得到求解常微分数值解的精度更好的方法。
关键词:常微分方程, 数值解法, 单步法, 线性多步法, 局部截断误差Error Analysis of Numerical Method for Solving theOrdinary Differential EquationLi Na(School of Mathematical Science, Huaibei Normal University, Huaibei, 235000)AbstractIn nature and engineering have many phenomena , definite solution of the problem often boils down to ordinary differential equations. So study the numerical solution of ordinary differential equations is practical significance. The numerical method is a discrete mathematical methods, and exact solution of the function can be obtained in the approximation of a series of discrete points of the argument.With the enhanced computing power and the development of numerical methods,ordinary differential equations have more and more numerical solution,there are some mature methods. Such as Euler method, backward Euler method, trapezoidal method, Runge-Kutta method, projection method and multi-step method and so on.Therefore, numerical solution of differential equation is of great practical significance. Through this paper, error of these solutions will be analyzed in order to get a the accuracy better way to solve the numerical solution of ordinary differential.Keywords:Ordinary differential equations, numerical solution methods, s ingle ste p methods, l inear multi-step methods, local truncation error目录引言 (1)一、常微分方程 (1)1、定义 (1)2、常微分方程初值问题描述 (2)3、数值解法的基本思想与途径 (2)4、数值解的分类 (3)5、问题(1)解的存在惟一性定理 (4)二、几种常用的数值解法及其误差分析 (4)1、单步法 (4)(一)、欧拉法 (5)(二)、向后EuIer方法 (6)(三)、- 法 (7)(四)、改进欧拉法 (7)(五)Runge—Kutta方法 (9)2、线性多步法 (14)总结 (16)参考文献: (17)引 言自然界中很多事物的运动规律可用微分方程来刻画。
初值问题——精选推荐
初值问题《计算机数学基础(2)》辅导六第14章常微分⽅程的数值解法⼀、重点内容1.欧拉公式:(k=0,1,2,…,n-1)局部截断误差是O(h2)。
2. 改进欧拉公式:或表⽰成:平均形式:局部截断误差是O(h3)。
3. 四阶龙格――库塔法公式:其中κ1=f(x k,y k);κ2=f(x k+0.5h,y k+0.5hκ1);κ3=f(x k+0.5h,y k+0.5hκ2);κ4=f(x k+h,y k+hκ3)局部截断误差是O(h5)。
⼆、实例例1⽤欧拉法解初值问题取步长h=0.2。
计算过程保留4位⼩数。
解h=0.2,f(x,y)=-y-xy2。
⾸先建⽴欧拉迭代格式=0.2y k(4-x k y k) (k=0,1,2)当k=0,x1=0.2时,已知x0=0,y0=1,有y(0.2)≈y1=0.2×1(4-0×1)=0.8当k=1,x2=0.4时,已知x1=0.2,y1=0.8,有y(0.4)≈y2=0.2×0.8×(4-0.2×0.8)=0.6144当k=2,x3=0.6时,已知x2=0.4,y2=0.6144,有y(0.6)≈y3=0.2×0.6144×(4-0.4×0.6144)=0.4613 例2 ⽤欧拉预报-校正公式求解初值问题取步长h=0.2,计算y(1.2),y(1.4)的近似值,⼩数点后⾄少保留5位。
解步长h=0.2,此时f(x,y)=-y-y2sin x欧拉预报-校正公式为:有迭代格式:当k=0,x0=1,y0=1时,x1=1.2,有=y0(0.8-0.2y0sin x0)=1×(0.8-0.2×1sin1)=0.63171y(1.2)≈y1=1×(0.9-0.1×1×sin1)-0.1(0.63171+0.631712sin1.2)=0.71549 当k=1,x1=1.2,y1=0.71549时,x2=1.4,有=y1(0.8-0.2y1sin x1)=0.71549×(0.8-0.2×0.71549sin1.2)=0.47697y(1.4)≈y2=0.71549×(0.9-0.1×0.71549×sin1.2)-0.1(0.47697+0.476972sin1.4)=0.52611例3写出⽤四阶龙格――库塔法求解初值问题的计算公式,取步长h=0.2计算y(0.4)的近似值。
计算方法 常微分方程初值问题数值解法-Euler公式-龙格-库塔法
[xi , xi 1 ]上积分得,
y(xi 1 ) y(xi )
xi 1
xi
f[x, y(x)]dx
(9.4 )
改用梯形方法计算其积分项,即
xi 1
x i 1 x i [f(x i , y(x i )) f(x i 1 , y(x i 1 ))] 2
xi
f[x, y(x)]dx
0 1 n1 n
… , y(xn ) (未知) 处的函数值 y(x 0 ), y(x1 ),
, yn 的近似值 y 0 , y1 ,…
y=y(x)
a=x0 x1
x2
x3
xn=b
• 相邻两个节点的间距 h xi 1 xi 称为步长,
步长可以相等,也可以不等。
• 本章总是假定h为定数,称为定步长,这时节 点可表示为
第9章 常微分方程初值问题数值解法
§9.1 引言
包含自变量、未知函数及未知函数的导数的方程称 为微分方程。
自变量个数只有一个的微分方程称为常微分方 程。
微分方程中出现的未知函数最高阶导数的阶数 称为微分方程的阶数。 如果未知函数y及其各阶导数
y, y, … , y
(n)
都是一次的,则称其为线性的,否则称为非线性的。
• 如下是一些典型方程求解析解的基本方法 可分离变量法、 常系数齐次线性方程的解法、 常系数非齐次线性方程的解法等。
• 但能求解的常微分方程仍然是很少的,大多数
的常微分方程是不可能给出解析解。例如,一
阶微分方程
y x y
2
2
的解就不能用初等函数及其积分来表达。
• 从实际问题当中归纳出来的微分方程,通常主 要依靠数值解法来解决。 • 本章主要讨论一阶常微分方程初值问题
第五章:常微分方程数值解法第一节欧拉法
欧拉近似方法求常微分方程
欧拉近似方法求常微分方程朱翼1、编程实现以下科学计算算法,并举一例使用之。
“欧拉近似方法求常微分方程”算法说明:欧拉法是简单有效的常微分方程数值解法,欧拉法有多种形式的算法,其中简单欧拉法是一种单步递推算法。
其基本原理为对简单的一阶方程的初值问题:y’=f(x,y)其中y(x0 )=y0欧拉法等同于将函数微分转换为数值微分,由欧拉公式可得y n+1 =y n+hf(x n ,y n)程序代码:function [tout,yout]=myeuler(ypfun,t0,tfinal,y0,tol,trace) %初始化pow=1/3;if nargin<5,tol=1.e-3;endif nargin<6,trace=0;endt=t0;hmax=(tfinal-t)/16;h=hmax/8;y=y0(:);chunk=128;tout=zeros(chunk,1);yout=zeros(chunk,length(y));k=1;tout(k)=t;yout(k,:)=y.';if trace %绘图 clc,t,h,yendwhile (t<tfinal)&(t+h>t) %主循环if t+h>tfinal,h=tfinal-t;end% Compute the slopesf=feval(ypfun,t,y);f=f(:);%估计误差并设定可接受误差delta=norm(h*f,'inf');tau=tol*max(norm(y,'inf'),1.0);%当误差可接受时重写解if delta<=taut=t+h;y=y+h*f;k=k+1;if k>length(tout)tout=[tout;zeros(chunk,1)];yout=[yout;zeros(chunk,length(y))];endtout(k)=t;yout(k,:)=y.';endif tracehome,t,h,yend% Update the step sizeif delta~=0.0h=min(hmax,0.9*h*(tau/delta)^pow);endendif (t<tfinal)dish('Singularity likely.')tendtout=tout(1:k);yout=yout(1:k,:);流程图:用欧拉法求y’=-y+x+1,y(0)=1。
计算方法-常微分方程初值问题数值解法-Euler公式-龙格-库塔法市公开课获奖课件省名师示范课获奖课
这么就取得了P1点旳坐标: (x1, y1) 。将y1作为y(x1)旳 近似值(想象(x1, y1) 在积分曲线y=y(x)上)
过点P1(x1,y1),作积分曲线y=y(x)旳切线交直线x=x2于
P2点。注意切线 P1P2 旳斜率(近似)为 y(x1 ) f(x1 , y1 )
第9章 常微分方程初值问题数值解法
§9.1 引言
➢ 包括自变量、未知函数及未知函数旳导数旳方程称 为微分方程。
➢ 自变量个数只有一种旳微分方程称为常微分方 程。
微分方程中出现旳未知函数最高阶导数旳阶数 称为微分方程旳阶数。
假如未知函数y及其各阶导数
y, y, … , y(n)
都是一次旳,则称其为线性旳,不然称为非线性旳。
xi1 xi1 f[xi , y(xi )]
代入上式,并用yi近似替代式中y(xi)即可得到 两步欧拉公式
yi1 yi1 2hf(xi , yi ) ( 9.7 )
【注】欧拉措施和梯形措施,都是单步法,其特点是 在计算yi+1时只用到前一步旳信息yi; 而两步欧拉公式 (9.7)中除了yi外,还用到更前一步旳 信息yi-1,即调用了前两步旳信息。
当 x xi1 时,得
yi1 yi f(xi , yi )(xi1 xi )
这么,从x0逐一算出 x1 , x2 , … xn
相应旳数值解
y1 , y 2 , … yn
就取得了一系列旳点: P1, P1,…,Pn。 从图形上看,就取得了一条近似于曲线y=y(x)
旳折线 P1P2P3 … Pn 。
xi x0 ih, i 1,2, … , n
数值解法需要把连续性旳问题加以离散化,从 而求出离散节点旳数值解。
常微分方程的解法
常微分方程的离散化
欧拉(Euler)方法 改进的Euler 方法 龙格—库塔(Runge—Kutta)方法 线性多步法
机动
目录
上页
下页
返回
结束
建立微分方程只是解决问题的第一步,通常需要 求出方程的解来说明实际现象,并加以检验。如 果能得到解析形式的解固然是便于分析和应用的, 但是我们知道,只有线性常系数微分方程,并且 自由项是某些特殊类型的函数时,才可以肯定得 到这样的解,而绝大多数变系数方程、非线性方 程都是所谓“解不出来”的,即使看起来非常简 单的方程 d y = y + x
(15)
其 中 k 2 在 点 ( x n ,y( x n ) 作 了 T ylor 展 开 。 ) 又 可 表 为 (15
2 y n + 1 = y ( x n )+ ( 1 + 2 )h y ( x n )+ 2 h ( f x +
若一种算法的局部截断误差为 ( h
p +1
), 称 该 算 法 具 有 p 阶 精 度 。
显然 p 越大,方法的精度越高。式(9)说明,向前Euler 方法是一阶方法,因此它的精度不高。
§3改进的 欧拉(Euler)方法
3.1 梯形公式 利用数值积分方法将微分方程离散化时,若用梯形公式 计算式(4)中之右端积分,即
将 y ( x ) 在 x n 处 展 开 , 取 一 次 T aylor 多 项 式 近 似 , 得
y ( x n +1 )- y ( x n )=
x n +1 xn
f ( x , y ( x ))dx
( n = 0,1, )
(4)
y ( x n +1 ) y ( x n )+h y ( x n )= y ( x n )+h f ( x n ,y( x n ))
第一章_常微分方程
作业
1. 求方程y2y3y=0的通解。
2. 求方程y2yy0满足初始条件y|x04、 y| x02的特解。
3. 求方程y2y5y 0的通解。
1.2 常系数非齐次线性微分方程
方程
y+py+qy = f(x) (3) 称为二阶常系数非齐次线性微分方程,其
中p、q均为常数,f (x)为非齐次项
一、常数变易法
将方程(3)的特解记为 y(x) c1(x) y1(x) c2(x) y2 (x)
其中y1(x)和 y2 (x)为对应齐次方程的一对线性无关 解。将上述特解带入方程(3)可求解 c1(x)和c2 (x)。
由于 y c1y1 c2 y2 c1 y1 c2 y2 ,若令
c1 y1 c2 y2 0 则 y c1 y1 c2 y2 ,
齐次方程,有
2a1 3a0 3a1x 3x 1 由同幂次系数相等求解得
a1
1
a0
1 3
则非齐次方程的一个特解为
y* x 1 3
B.特殊情况
➢ 如果方程(3)的非齐次项 f(x)正好是对应齐次 方程的解,即各个非齐次项对应的指数
i 0 i
是原方程对应齐次方程的m重特征根,则方 程(3)的特解在原表达式上乘以xm 。
A.基本解法
【例 1.2.2】 求非齐次方程 y 2 y y 3e2x 的通解。 解:假设方程的一个特解为 y*(x) Ae2x ,代入非齐
次方程,有 4Ae2x 2Ae2x Ae2x 3e2x
求得 A 1。因此,方程的一个特解为 y* (x) e2x
又对应齐次方程的通解为 y(x) (c0 +c1x)ex ,因此 非齐次方程的通解为
是方程(1)的两个线性无关的解,方程的通解为
5.1常微分方程的数值解法
5.1常微分⽅程的数值解法第五章常微分⽅程的差分⽅法⼀、教学⽬标及基本要求通过对本节课的学习,使学⽣掌握常微分⽅程、常微分⽅程⽅程组的数值解法。
⼆、教学内容及学时分配本节课主要介绍常微分⽅程的数值解法。
具体内容如下:讲授内容:欧拉公式、改进的欧拉公式。
三、教学重点难点1.教学重点:改进的欧拉公式、龙格库塔⽅法、收敛性与稳定性。
2. 教学难点:收敛性与稳定性。
四、教学中应注意的问题多媒体课堂教学为主。
适当提问,加深学⽣对概念的理解。
五、正⽂基于数值积分的求解公式:欧拉公式、改进的欧拉公式引⾔1.主要考虑如下的⼀阶常微分⽅程初值问题的求解:00()(,)()y x f x y y x y '=??=?微分⽅程的解就是求⼀个函数y=y(x),该函数满⾜微分⽅程并且符合初值条件。
2. 例如微分⽅程:xy'-2y=4x ;初始条件: y(1)=-3。
于是可得⼀阶常微分⽅程的初始问题24(1)3y y x y ?'=+=-?。
显然函数y(x)=x 2-4x 满⾜以上条件,因⽽是该初始问题的微分⽅程的解。
3. 但是,只有⼀些特殊类型的微分⽅程问题能够得到⽤解析表达式表⽰的函数解,⽽⼤量的微分⽅程问题很难得到其解析解,有的甚⾄⽆法⽤解析表达式来表⽰。
因此,只能依赖于数值⽅法去获得微分⽅程的数值解。
4.微分⽅程的数值解:设微分⽅程问题的解y(x)的存在区间是[a,b],初始点x 0=a ,将[a,b]进⾏划分得⼀系列节点x 0 , x 1 ,...,x n ,其中a= x 0< x 1<…< x n =b 。
y(x)的解析表达式不容易得到或根本⽆法得到,我们⽤数值⽅法求得y(x)在每个节点x k 的近似值y(x k ),即 y≈y(x k ),这样y 0 , y 1 ,...,y n 称为微分⽅程的数值解。
如果计算y n 时,只利⽤y n-1,称这种⽅法为单步法;如果在计算y n 时不仅利⽤y n-1,⽽且还要利⽤y n-2, y n-3,…, y n-r ,则称这种⽅法为r 步⽅法,也称多步法。
欧拉方程的求解
欧拉方程的求解.————————————————————————————————作者:————————————————————————————————日期:ﻩ欧拉方程的求解1.引言在数学研究领域,我们经常会看到以数学家名字命名的概念、公式、定理等等,让人敬佩跟羡慕.但是,迄今为止,哪位数学家的名字出现得最多呢?他就是数学史上与阿基米德、牛顿、高斯齐名的“四杰”之一,人称“分析学的化身”的盲人数学家欧拉(Leo nhard E uler,1707--1783).几乎在每一个数学领域都可以看到他的名字,譬如我们熟悉的“欧拉线”、“欧拉圆”、“欧拉公式”、“欧拉定理”、“欧拉函数”、“欧拉积分”、“欧拉变换”、“欧拉常数”欧拉还是许多数学符号的发明者,例如用π表示圆周率、e 表示自然对数的底、()f x 表示函数、∑表示求和、i 表示虚数单位以欧拉命名的数学名词有很多,本文主要讲解以欧拉命名的方程即“欧拉方程”.在文献[1]中,关于欧拉方程的求解通常采用的是变量变换的方法.变量变换法就是将所求的欧拉方程化为常系数齐次线性微分方程,然后再来求解这个常系数齐次线性微分方程的解,亦即求其形如K y x =的解,进而求得欧拉方程的解.但有些欧拉方程在用变量变换法求解时比较困难.本文在所学的欧拉方程的求解的基础上,对欧拉方程进行了简单的分类,并针对不同阶的欧拉方程的求解给出了不同的定理.最后在每类欧拉方程后面给出了典型的例题加以说明.2.几类欧拉方程的求解定义1 形状为()1(1)110n n n n n n y a x y a xy a y x ---'++++=(1)的方程称为欧拉方程. (其中1a ,2a ,,1n a -,n a 为常数)2.1二阶齐次欧拉方程的求解(求形如K y x =的解)二阶齐次欧拉方程:2120x y a xy a y '''++=. (2)(其中1a ,2a 为已知常数)我们注意到,方程(2)的左边y ''、y '和y 的系数都是幂函数(分别是2x 、1a x 和02a x ),且其次依次降低一次.所以根据幂函数求导的性质,我们用幂函数K y x =来尝试,看能否选取适当的常数K ,使得K y x =满足方程(2).对K y x =求一、二阶导数,并带入方程(2),得212()0K K K K K x a Kx a x -++=或212[(1)]0K K a K a x +-+=,消去K x ,有 212(1)0K a K a +-+=. (3)定义 2 以K 为未知数的一元二次方程(3)称为二阶齐次欧拉方程(2)的特征方程.由此可见,只要常数K 满足特征方程(3),则幂函数K y x =就是方程(2)的解.于是,对于方程(2)的通解,我们有如下结论:定理1 方程(2)的通解为(i) 1112ln K K y c x c x x =+, (12K K =是方程(3)的相等的实根)(ii)1212K K x c x y c +=, (12K K ≠是方程(3)的不等的实根)(iii)12cos(ln )sin(ln )x x c x x y c ααββ+=.(1,2K i αβ=±是方程(3)的一对共轭复根)(其中1c 、2c 为任意常数)证明 (i )若特征方程(3)有两个相等的实根: 12K K =,则11K x y =是方程(2)的解,且设2()u x y =,11()K y x u x =(()u x 为待定函数)也是方程(2)的解(由于21()y u x y =,即1y ,2y 线性无关),将其带入方程(2),得 11122111112[()2]()0K K K x K K u K xu x u a x K u xu a x u ''''-+++++=,约去1K x ,并以u ''、u '、u 为准合并同类项,得22111112(2)[(1)]0x u K a xu K a K a u '''++++-+=.由于1K 是特征方程(3)的二重根, 因此21112(1)0K a K a +-+=或112(1)0K a +-=,于是,得20x u ux '''+=或0xu u '''+=,即 ()0xu ''=, 故 12()ln u x c x c =+. 不妨取()ln u x x =,可得方程(2)的另一个特解12ln K y x x =,所以,方程(2)的通解为1112ln K K y c x c x x =+.(其中1c ,2c 为任意常数)(ii )若特征方程(3)有两个不等的实根: 12K K ≠,则11K x y =,22K y x =是方程(2)的解.又2211()21K K K K y x x y x -==不是常数,即1y ,2y 是线性无关的. 所以,方程(2)的通解为1212K K x c x y c +=.(其中1c ,2c 为任意常数)(iii )若特征方程(3)有一对共轭复根:1,2K i αβ=±(0β≠),则()1i x y αβ+=,()2i y x αβ-=是方程(2)的两个解,利用欧拉公式,有()ln 1(cos(ln )sin(ln ))i i x x x e x x i x y αβαβαββ+===+, ()ln 2(cos(ln )sin(ln ))i i x x x e x x i x y αβαβαββ--===-,显然,12cos(ln )2y y x x αβ+=和12sin(ln )2y y x x iαβ-=是方程(2)的两个线性无关的实函数解. 所以,方程(2)的通解为12cos(ln )sin(ln )x x x x y c c ααββ=+.(其中1c ,2c 为任意常数)例1求方程20x y xy y '''-+=的通解. 解 该欧拉方程的特征方程为(1)10K K K --+=,即 2(1)0K -=, 其根为: 121K K ==, 所以原方程的通解为12(ln )y c c x x =+.(其中1c ,2c 为任意常数)例2 求方程280x y xy y '''--=的通解.解 该欧拉方程的特征方程为2(11)80K K +---=,即 2280K K --=, 其根为: 12K =-,24K =,所以原方程的通解为4122c y c x x=+. (其中1c ,2c 为任意常数)例3 求方程的通解2350x y xy y '''++=. 解 该欧拉方程的特征方程为(1)350K K K -++=,即 2250K K ++=, 其根为: 1,212K i =-±, 所以原方程的通解为121[cos(2ln )sin(2ln )]y c x c x x=+.(其中1c ,2c 为任意常数)2.2二阶非齐次欧拉方程的求解(初等积分法)二阶非齐次欧拉方程:212()x y a xy a y f x ++='''. (4)(其中1a ,2a 为已知实常数,()f x 为已知实函数)为了使方程(4)降阶为一阶线性微分方程,不妨设1121a K K =--,212a K K =,(5)则方程(4)变为212122)(1()K a x y K K xy K y f x +--+=''',即212()()()x xy K y K xy K y f x ---=''',(6)根据韦达定理,由(5)式可知,1K ,2K 是一元二次代数方程212(1)0K a K a +-+=(3)的两个根.具体求解方法:定理2 若1K ,2K 为方程(2)的两个特征根,则方程(4)的通解为212111[()]K K K K y x x x f x dx dx ----=⎰⎰.(7)证明 因为1K ,2K 为方程(2)的两个特征根, 于是方程(4)等价于方程(6),令 2xy K y p '-=, 代入方程(6)并整理,得1()K f x p x x p =-' 和2K p y y x x'-=, 解之,得方程(4)的通解为212111[()]K K K K y x x x f x dx dx ----=⎰⎰.由定理2知,只需要通过两个不定积分(当(7)式中的积分可积时)即可求得方程(4)的通解.为了方便计算,给出如下更直接的结论.定理3 若1K ,2K 为方程(2)的两个特征根,则(i)当12K K =是方程(2)的相等的实特征根时,方程(4)的通解为11111[ln ()ln ()]K K K x x f x dx x x f x dx y x -----⋅=⎰⎰,(ii )当12K K ≠是方程(2)的互不相等的实特征根时,方程(4)的通解为112211121[()()]K K K K x x f x dx x x f x dx K K y ------=⎰⎰,(iii)当1,2K i αβ=±是方程(2)的共轭复特征根时,方程(4)的通解为111[sin(ln )cos(ln )()cos(ln )sin(ln )()]y x x x x f x dx x x x f x dx αααβββββ----=-⎰⎰证明 (ii )当12K K ≠是方程(2)的互不相等的的实特征根时, 将方程(1)的通解(7)进行分部积分,得21212112212121121111211212112111[()]1[()]1{[()]}1[]()()()K K K K K K K K K K K K K K K K K K K x x x f x dx dxx x f x dx dx K K x x x d x f x dx K K x x K K y x f x dx x f x dx x f x dx -------------------=-===--⎰⎰⎰⎰⎰⎰⎰⎰⎰(8)(iii)当1,2K i αβ=±是方程(2)的共轭复特征根时,122K K i β-=, 再由欧拉公式有1ln [cos(ln )sin(ln )]K i i x x x e x x i x x αβαβαββ+===+,2ln [cos(ln )sin(ln )]K i i x x x e x x i x x αβαβαββ--===-,将其代入(8)式,整理可得方程(4)的通解为111[sin(ln )cos(ln )()cos(ln )sin(ln )()]x x x x f x dx x x x f x dx y αααβββββ-----=⎰⎰(i)的证明和(ii)类似.例1求方程22234ln y xy y x x x x '''-+=+的通解.解 该欧拉方程所对应的齐次方程的特征方程为2440K K -+=, 特征根为 122K K ==, 所以由定理3,原方程的通解为23223222232122223212[ln (ln )ln (ln )]111{ln [(ln )ln ][(ln )(ln )]}23211ln [(ln )(ln )]62x x x x x dx x x x x x dx x x x c x x c x x c x x x x y x x c --+-⋅+++-+-+++===⎰⎰(其中1c ,2c 为任意常数)例2求方程2322x x y xy y x e -+='''的通解. 解 该欧拉方程所对应的齐次方程的特征方程为2320K K -+=,特征根为 12K =,21K =, 所以由定理3,原方程的通解为23323212212()()x x x x x xx x e dx x x x e dxx e c x xe e c c x c x xe y x ---=+---=++=⎰⎰(其中1c ,2c 为任意常数)例3求方程2cos(ln )2xx x y xy y -+='''的通解.解 该欧拉方程所对应的齐次方程的特征方程为2220k k -+=,特征根为 1,21K i =±, 所以由定理3,原方程的通解为212122cos(ln )]cos(ln )cos(ln )11sin(ln )cos(ln )cos(ln ))sin(ln )cos(ln )sin(ln )cos(ln )sin(ln )[sin(ln )]{sin(ln )(ln )cos(ln )[ln(cos(ln )]}[][sin(ln )ln x xx x dx dx x x x dx x dx x x x x c x y x x x x x x x x x x c x x c x c x x x ----+===+++=++⎰⎰⎰⎰cos(ln )ln(cos(ln ))]x x(其中1c ,2c 为任意常数)在定理3中,若令()0f x =,则得到二阶齐次欧拉方程(2)的通解.推论 方程(2)的通解为(i)1112ln K K x c x x y c +=, (12K K =是方程(2)的相等的实特征根)(ii )1212K K x c x y c +=, (12K K ≠是方程(2)的不等的实特征根)(iii)12cos(ln )sin(ln )x x c x x y c ααββ+=.(1,2K i αβ=±是方程(2)的共轭复特征根)(其中1c ,2c 为任意常数)2.3三阶非齐次欧拉方程的求解(常数变易法)三阶非齐次欧拉方程:32123()x y a x y a xy a y f x +++=''''''.(9)(其中1a ,2a ,3a 为常数) (9)对应的齐次方程为321230x y a x y a xy a y +++=''''''. (10)特征方程为321123(3)(2)0K a K a a K a +-+-++=. (11)定理4 设1K 是方程(11)的根,2K 是方程22122112(31)[3(1)2]0K K a K K K a K a ++-+-++=的根,则(9)的通解为12211211(231)(22){[()]}K K K K a K K a x x x f x dx dx dx y x -++-++-=⎰⎰⎰ .(12)证明 根据条件1K y cx =(c 为任意常数)是方程(10)的解. 设1()K y c x x =是方程(9)的解(其中()c x 是待定的未知数), 将其代入方程(9),整理得1121111112(3)3231111213()(3)()[3(1)2]()[(3)(2)]()()K c x K a x c x K K a K a x c x K a K a a K a x c x xf x ---+-''''''+++-++++-+-++= (13)因为1K 是(11)的根,则321111213(3)(2)0K a K a a K a +-+-++=,于是(13)式化为1(3)121111112()(3)()[3(1)2]()()K c x K a x c x K K a K a x c x x f x -+--''''''+++-++=(14)这是以()c x '为未知函数的二阶欧拉方程. 设2K 为(14)对应的齐次方程的特征方程21111112(31)[3(1)2]0K K a K K K a K a ++-+-++=, (15)的根,则221121(23)(2)()[()]K K K a K K c x x x x f x dx dx -+++-'=⎰⎰.从而2211211(23)(22){[()]}()K K K a K K a x x x f x dx dx dx c x -++++-=⎰⎰⎰. 故方程(1)的通解为12211211(231)(22){[()]}K K K K a K K a x x x f x dx dx dx y x -++-++-=⎰⎰⎰.定理5 设1K 是方程(11)的根,2K 是方程(15)的根,则(i)当1K 是方程(11)的单实根,2K 是方程(15)的单实根,则(9)的通解为1212121121(2)1(3)(2)121[()()](32)1K K K K K K a K K a x y x x f x dx x x f x dx dx K K a -++-++++=-++-⎰⎰⎰(ii )当1K 是方程(11)的单实根,2K 是方程(15)的单虚根,则(9)的通解为111(2)(2){[sin(ln )cos(ln )()cos(ln )sin(ln )()]}K K K x x xx f x dx x x x f x dx dxy xαααβββββ-++-++-=⎰⎰⎰(其中11132K a α--=,2211112113624(1)2K K a K a a β=-++--) (iii)当1K 是方程(11)的单实根,2K 是方程(15)的重实根,则(9)的通解为121212(2)(2){[ln ()ln ()]}K K K K K K x x x f x dx x x f x dx dx y x -++-++-⋅=⎰⎰⎰,(iv)当1K 是方程(11)的三重实根,方程(15)变为2210K K ++=,有21K =-,则(9)的通解为111(1)(1)1{[ln ()ln ()]}K K K y x x x x f x dx x x f x dx dx -+-+-=-⋅⎰⎰⎰. 证明 (i)因为2K 是方程(15)的单实根,得(14)的通解为212121121(2)1(3)(2)31211[()()](32)1()K K K K K a K K a x x f x dx x x f x dx K K a c x -++-++++--++-='⎰⎰则(9)的通解为1212121121(2)1(3)(2)3121[()()](32)1K K K K K K a K K a x y x x f x dx x x f x dx dx K K a -++-++++-=-++-⎰⎰⎰(ii )因为2K 是方程(14)的单虚根,此时方程(15)有一对共轭虚根1,222111111212(13)3624(1)2a K i K K a K a a K --±-++--=, 得(14)的通解为11(2)(2)[sin(ln )cos(ln )()cos(ln )sin(ln )()]()K K x x x x f x dx x x x f x dx c x αααβββββ-++-++-='⎰⎰则(9)的通解为111(2)(2){[sin(ln )cos(ln )()cos(ln )sin(ln )()]}K K K x x xx f x dx x x x f x dx dxy xαααβββββ-++-++-=⎰⎰⎰(其中11132K a α--=,2211112113624(1)2K K a K a a β=-++--) (i ii)因为2K 是方程(15)的重实根,得(9)的通解为121212(2)(2){[ln ()ln ()]}K K K K K K x x x f x dx x x f x dx dx y x -++-++-⋅=⎰⎰⎰.(i v)当1K 是方程(10)的三重实根(1133a K =-),方程(15)变为222210K K ++=,有21K =-,将1133a K =-,21K =-代入(12)式得11(1)11{[()]}K K y x x x x f x dx dx dx -+--=⎰⎰,对上式分部积分得(9)的通解为111(1)(1)1{[ln ()ln ()]}K K K x x x x f x dx x x f x dx dx y -+-+-⋅-⋅=⎰⎰⎰.例1 求三阶欧拉方程32366x y x y xy y x -+-=''''''的通解. 解 原方程对应的齐次方程为323660x y x y xy y -+-='''''',其特征方程为3261160K K K -+-=,解得其特征根为1,2,3,取 11K =, 将11K =,13a =-,26a =,代入方程(15),得2220K K -=,解得21K =或0,利用定理5(i)的通解公式有323212311[]ln 22y x x x dx x dx dx x x c x c x c x --=-=+++⎰⎰⎰. (其中1c ,2c ,3c 为任意常数)例2 求三阶欧拉方程3241313x y x y xy y x ''''''-+-=的通解. 解 原方程对应的齐次方程为32413130x y x y xy y ''''''-+-=,其特征方程为21613()()0K K K -+-=,从而解得特征单实根为11K =,将11K =,14a =-,213a =代入方程(15),得到222250K K -+=,解得 1,2212i K =±. 令212i K =+,则1α=,2β=, 利用定理5(ii)的通解公式有33213{[sin(2ln )cos(2ln )cos(2ln )sin(2ln )]}211ln [sin(2ln )cos(2ln )]816xx x x dx x x x dx dxx x c x c x c x y x ---=+-+=⎰⎰⎰(其中1c ,2c ,3c 为任意常数)2.4 n 阶齐次欧拉方程的求解(求形如K y x =的解)令K y x =是方程(1)的解,将其求导(需要求出y '、y''(1)n y -、()n y )代入方程(1),并消去K x ,得 1(1)(1)(1)(1)(2)0n n K K K n a K K K n a K a ---++--++++=. (16)定义3 以K 为未知数的一元n 次方程(16)称为n 阶齐次欧拉方程(1)的特征方程.由此可见,如果选取k 是特征方程(16)的根,那么幂函数k y x =就是方程(1)的解.于是,对于方程(1)的通解,我们有如下结论:定理6 方程(1)的通解为112211n n n n y c y c y c y c y --=++++(其中1c ,2c 1n c -,n c 为任意常数),且通解中的每一项都有特征方程(16)的一个根所对应,其对应情况如下表:例1 求方程4(4)3(3)281550x y x y x y xy '''+++=的通解. 解 该欧拉方程的特征方程为(1)(2)(3)8(1)(2)15(1)50K K K K K K K K K K ---+--+-+=,整理,得2(22)0K K K ++=,其根为120K K ==,3,41K i =-±,所以原方程的通解为3412ln cos(ln )sin(ln )c cy c c x x x x x=+++. (其中1c ,2c ,3c ,4c 为任意常数)例2 求方程(4)(3)432670x y x y x y xy y ++++='''的通解. 解 该欧拉方程的特征方程为方程(16)的根 方程(1)通解中的对应项 单实根:K给出一项:K cx一对单共轭复根:1,2K i αβ=±给出两项:12cos(ln )sin(ln )c x x c x x ααββ+ k 重实根:K给出k 项:12[ln (ln )]K K K x c c x c x +++一对k 重共轭复根:1,2K i αβ=±给出2k 项:1212[ln (ln )]cos(ln )[ln (ln )]sin(ln )k k kk x c c x c x x x d d x d x x ααββ+++++++(1)(2)(3)6(1)(2)7(1)10K K K K K K K K K K ---+--+-++=,整理,得410K +=,其根为1,2K i =-,3,4K i =(即一对二重共轭复根),所以原方程的通解为1234cos(ln )sin(ln )ln cos(ln )ln sin(ln )y c x c x c x x c x x =+++.(其中1c ,2c ,3c ,4c 为任意常数)3.结束语从前面的讨论过程来看,和教材中的变量变换法相比,本文中的解决办法更直接、更简单.但需要说明的是,本文中的定理和例题都是在0x >范围内对齐次欧拉方程求解的,如果要在0x <范围内对其求解,则文中的所有ln x 都将变为ln()x -,所得的结果和0x >范围内的结果相似.4.致谢经过这好几个月忙碌的学习跟工作,本次毕业论文的写作已经接近尾声了,但这次毕业论文的写作经历让我感受颇多.首先,自己要有很好的专业知识的储备,这也是写作的基础. 其次,自己要有严谨的思维逻辑.再次,自己要善于思考,遇到不懂得问题就要勤于思考,查资料,问老师.最后,自己一定要有坚持不懈的精神.毕业论文的写作是一个长期的过程,在写作过程中我们难免会遇到各种各样的过程,但我们不能因此就放弃,而要做到坚持.要相信“有付出就一定会有所收获”的.在这里首先要感谢我的指导老师胡宏昌教授.胡老师平日里工作繁多,但在我做毕业论文阶段,他都给予了我悉心的指导,细心地纠正论文中的错误并给予指导.如果没有他的大力支持,此次论文的完成将变得非常困难.除了敬佩胡老师的专业水平外,他的治学严谨和科学研究的精神也值得我永远学习,并将积极影响我今后的学习和工作.然后还要感谢大学四年来我的所有的老师跟领导,为我们打下了坚实的专业知识的基础.最后祝各位评审老师身体健康,工作顺利!5、参考文献[1]王高雄,周之铭,朱思铭,王寿松.常微分方程[M].第3版.北京:高等教育出版社,2006:142-144.[2]华东师范大学数学系.数学分析(上)[M].第3版.北京:高等教育出社,1999:87-199.[3]钟玉泉.复变函数论[M].第3版.北京:高等教育出版社,2003:10-11.[4]胡劲松.一类欧拉方程特解的求解.重庆科技学院学报[J],2009,11(2):143-144.[5]胡劲松,郑克龙.常数变易法解二阶欧拉方程.大学数学[J],2005,21(2):116-119.[6]米荣波,沈有建,汪洪波.三阶欧拉方程求解的简化常数变易方法.海南师范大学学报[J],2008,21(3):260-263.[7]胡劲松.齐次欧拉方程的另一种求解方法.重庆工学院学报[J],2004,18(1):4-748.[8]冀弘帅.认识伟大的数学家----欧拉.数学爱好者[J],2006,10:52-53.[9]卓越科学家欧拉.中学生数理化(北师大版)[J],2007,Z2: 101-102.。
改进的欧拉公式求微分方程 解释说明以及概述
改进的欧拉公式求微分方程解释说明以及概述1. 引言1.1 概述欧拉公式是数学上一项重要且经典的公式,它将复数、三角函数和指数函数之间建立了一个重要的联系。
自从欧拉在18世纪首次提出这个公式以来,它在各个领域中得到了广泛的应用,尤其是在微分方程的求解过程中起到了关键作用。
1.2 文章结构本文主要围绕改进的欧拉公式在微分方程求解中的应用展开研究。
文章分为五个部分。
首先,引言部分对文章进行了概述,并介绍了文章的结构。
接下来,在第二部分中我们回顾了传统欧拉公式及其在微分方程中的应用情况,并探讨了目前存在的局限性和挑战。
然后,在第三部分中我们详细地介绍了改进的欧拉公式求解微分方程方法,包括新型欧拉公式的推导和定义、改进方法所具有的优势以及针对具体微分方程问题的求解实例和结果分析。
第四部分着重对理论验证与实验结果进行对比与分析,包括理论模型与改进方法之间差异说明、实验设计及数据收集处理方法介绍以及实验结果对比分析与结论得出。
最后,第五部分总结本文的研究工作,并提出了改进欧拉公式研究领域未来发展方向的建议和期待值得探讨的部分。
1.3 目的本文旨在通过改进欧拉公式求解微分方程方法,提高传统欧拉公式在微分方程求解中的应用效果,克服其局限性,并验证改进方法在不同情景下的适用性。
通过理论推导、实验验证和结果分析,将有效地展示改进欧拉公式的优势和改善效果,并从中得出结论,为后续研究提供参考和启示。
同时,文章还将就未来改进欧拉公式研究领域的发展方向进行讨论和展望,为相关领域的学者提供思路和借鉴。
2. 欧拉公式及其应用2.1 欧拉公式的定义欧拉公式,也被称为欧拉恒等式,是数学中一个重要的关系式。
它由数学家莱昂哈德·欧拉在18世纪提出,并以他的名字命名。
这个公式可以被写为:e^(i * π) + 1 = 0其中,e表示自然对数的底数(约等于2.718),i是虚数单位(满足i^2 = -1),π代表圆周率。
2.2 欧拉公式在微分方程中的应用欧拉公式在微分方程领域有着广泛的应用。
欧拉公式求解常微分方程数值解培训教材
例:用欧拉法解初值问题
y=yxy2(0x0.6)
y(0)=1
取步长 h = 0.2.计算过程保留4位小数.
解:f(x,y)=-y-xy2 , h = 0.2,由欧拉公式得
yk+ 1=yk+h(fxk,yk)=ykhky hkx yk 2 =0.2yk(4xkyk)k(=0,1,2)
故y(0.2)y1=0.2×1(4-0×1)=0.800 0 y(0.4)y2=0.2×0.8×(4-0.2×0.8)=0.614 4 y(0.6)y3=0.2×0.614 4×(4-0.4×0.4613)=0.800 0
Step 2: 将 K2 代入第1式,得到 y i+ 1 = y i+ h1 y ( x i) + 2 [ y ( x i) + p y ( h x i) + O ( h 2 )] = y i+ (1 + 2 ) h y ( x i) + 2 p 2 y h ( x i) + O ( h 3 )
f y ( x, f y ( x,
y) y)
dy dx f (x,
y)
K 2= f(x i+ p,y h i+ p1 h ) K = f(x i,y i)+ px h (x i,y fi)+ p1 h fy (x K i,y i)+ O (h 2 ) = y (x i)+ py h (x i)+ O (h 2 )
例1:用预报-校正公式求解初值问题
y
+y+
y
sinx=
y() =
取步长 h = 0.2,计算 y(1.2), y(1.4)的近似值,计算过程保
常数微分 计算方法
y i +1 = y i + h f ( x i , y i ) ( i = 0, ... , n 1)
依上述公式逐次计算可得:
y1 = y 0 + hf ( x 0 , y 0 ) y 2 = y1 + hf ( x1 , y1 )
y n +1
亦称为欧拉折线法 亦称为欧拉折线法
/* Euler’s polygonal arc method*/
R
i
= y ( x i + 1 ) y i 称为局部截断误差
/* local truncation error */。
定义 在假设 yi = y(xi),即第 i 步计算是精确的前提下,考 虑的截断误差 Ri = y(xi+1) yi+1 称为局部截断误差 /* local truncation error */。 定义 若某算法的局部截断误差为O(hp+1),则称该算法有p 阶精度。 欧拉法的局部截断误差:
y n +1 = y n + hf ( x n , y n )
每步计算
只用到
yn
故也称Euler为单步法。 公式右端只含有已知项 y 所以又称为显格式的单步法。
欧拉公式
编辑词条欧拉公式[编辑本段]欧拉公式(Euler公式)在数学历史上有很多公式都是欧拉(Leonhard Euler 公元1707-1783年)发现的,它们都叫做欧拉公式,它们分散在各个数学分支之中。
(1)分式里的欧拉公式:a^r/(a-b)(a-c)+b^r/(b-c)(b-a)+c^r/(c-a)(c-b)当r=0,1时式子的值为0当r=2时值为1当r=3时值为a+b+c(2)复变函数论里的欧拉公式:e^ix=cosx+isinx,e是自然对数的底,i是虚数单位。
它将三角函数的定义域扩大到复数,建立了三角函数和指数函数的关系,它在复变函数论里占有非常重要的地位。
将公式里的x换成-x,得到:e^-ix=cosx-isinx,然后采用两式相加减的方法得到:sinx=(e^ix-e^-ix)/(2i),cosx=(e^ix+e^-ix)/2.这两个也叫做欧拉公式。
将e^ix=cosx+isinx中的x取作∏就得到:e^i∏+1=0.这个恒等式也叫做欧拉公式,它是数学里最令人着迷的一个公式,它将数学里最重要的几个数学联系到了一起:两个超越数:自然对数的底e,圆周率∏,两个单位:虚数单位i和自然数的单位1,以及数学里常见的0。
数学家们评价它是“上帝创造的公式”,我们只能看它而不能理解它。
(3)三角形中的欧拉公式:设R为三角形外接圆半径,r为内切圆半径,d为外心到内心的距离,则:d^2=R^2-2Rr(4)拓扑学里的欧拉公式:V+F-E=X(P),V是多面体P的顶点个数,F是多面体P的面数,E是多面体P 的棱的条数,X(P)是多面体P的欧拉示性数。
如果P可以同胚于一个球面(可以通俗地理解为能吹胀而绷在一个球面上),那么X(P)=2,如果P同胚于一个接有h个环柄的球面,那么X(P)=2-2h。
X(P)叫做P的欧拉示性数,是拓扑不变量,就是无论再怎么经过拓扑变形也不会改变的量,是拓扑学研究的范围。
(5)初等数论里的欧拉公式:欧拉φ函数:φ(n)是所有小于n的正整数里,和n互素的整数的个数。
常微分方程的求解方法
r 2 pr q 0
这表明方程 与
④
r 2 e rx pre rx qe rx 0 r 2 pr q 0
是等价的。
8 33
由上可知:为了求微分方程方程 ① 的特解,可以求形式为
y e rx 的特解,而且求解代数方程 ④ 就可以了。 换句话说,如果 r 是方程 ④ 的一个根,则 y e rx 就
(得两个特解:e 2 x , xe 2 x ) 所求通解为
14 33
(3)共轭复根(判别数 p 2 4q 0 )
这时特征方程的两个根为
r1, 2
设
p
p 2 4q 2
则
2 p 4 q p , , 2 2 r1 i , r2 i
y py qy ( xy1 ) p( xy1 ) q( xy1 )
) p( y1 xy1 ) qxy1 ( y1 xy1 y1 xy1 py1 pxy1 qxy1 y1 py1 x( y1 py1 qy1 ) 2 y1 py1 2 y1
e i cos i sin
可以把两个特解改写为
e r1 x e x e ix ex cos x iex sin x e r2 x e x e ix ex cos x iex sin x
然后,很容易验证
y1 ex cos x,
y py qy 0 y1 * k (常数) 的两个特解,而且 ,则 y c1 y1 c 2 y 2 y2
是其通解,其中 c1 与 c 2 为任意常数。 【证】 首先来证明 y* c1 y1 c 2 y 2 是齐次方程的解,
化工应用数学-常微分方程数值解-欧拉
2020/6/19
化工应用数学
3
例1:在一个与外界没有质量交换的封闭系统中,三
个组分浓度分别为C1、C2和C3。当系统在特定频率
光照下发生反应,求每种物质浓度随时间变化规律。
k1C1
k3C22
C1 C2 C3
k2C2C3
此问题可归结为常微分方程组初值问题:
dC1 dt
k1C1 k2C2C3
2020/6/19
化工应用数学
9
通常,评价一个方法为P阶精度,是指其局部截断误 差为h的(P+1)阶无穷小。显然,显示欧拉公式是1阶 精度。 并且,截断误差与步长有关,当步长足够小时,可使 近似解更接近准确解。
2020/6/19
化工应用数学
10
收敛性与稳定性
对于一个给定的微分方程, 若没有舍入误差, 当步长h趋向于零时, 方程的数值解逼近于精确解时, 则称所采用的数值方法是收敛的。
dC2 dt
k1C1 k2C2C3 k3C22
dC3 dt
k3C22
初值条件:C1(0) C0 , C2 (0) C3 (0) 0
2020/6/19
化工应用数学
4
常微分方程的初值问题
y' f (x, y)(a<x<b)
y(a) y0
首先把[a, b]区间分成n等份,即 h b a
n
xi a hi(i 0,1, , n)
xi称为等距节点 所谓数值解,就是求取微分方程
h为步长
满足定解条件下函数在节点x0<
x1< x2< …… < xn上近似值u0、u1、
u2 …… un
2020/6/19
化工应用数学
5
显式欧拉法
高阶常系数线性微分方程、欧拉方程
( 2)
的方程,称为二阶常系数非齐线性微分方程, 其中 p、q
为(实)常数。它对应的齐方程为
y p y q y 0。 (1) 我们只讨论函数 f ( x ) 的几种简单情形下,(2) 的特解。
1. f (x) e x Pn (x) 的情形 其中 Pn (x) a0 xn a1xn1 an1x an 。
2 p q 0。
特征根
1 2 (实根) 1 2 (实重根) 1,2 i (共轭复根 )
通解形式 y C1e1x C2e2 x y e1x (C1 C2 x)
y e x (C1 cos x C2 sin x)
例 求方程 y 2y 3y 0 的通解。
解 特征方程 2 2 3 0,特征根
( k 1, 2, ) 。
y d y d y d t 1 d y ,
dx dt dx x dt
y
d2 y d x2
1 x2
d2 y dt2
d d
y t
,
y
d3 y d x3
1 x3
d3 y dt3
3
d2 dt
y
2
2
d y , dt
由数学归纳法可以证明:
xy Dy
x2 y D(D 1) y x3 y D(D 1)(D 2) y
解
特征方程 2 1 0,
特征根 1,2= i,
首先求方程 y y eix 的特解:
由于 i 是特征根,n 0,故取 k 1,且有
y* b0 x ei x,
代入上述方程,得
[2b0 i b0 x b0 x] ei x
ei x,即有
b0
i, 2
从而,原方程有一特解为
y1*
常微分方程初值问题解法
8
4 后退的欧拉方法
(5)
9
(6)
(6)式称为后退的欧拉方法,它是隐式的, 欧拉公式(2)是显式的,
10
(7)
11
12
后退的欧拉方法的局部截断误差:
13
5 梯形方法
(8)
(8)式称为梯形方法.
14
梯形方法的局部截断误差:
15
6. 改进欧拉法及局部截断误差
(1)改进的欧拉公式:
预测步
~ yn 1 yn hf xn , yn
33
提高Runge-Kutta方法的精度的方法
提高积分方法的精度,我们最熟悉的(不一定是最好的)措施是
Richardson 外推法
我们用一个例子予以说明如下 的近似解: Euler法 yn 1 yn hyn y ( h ) ( x) y ( x) c1h c2 h 2 h 将步长减半为 时,有 2 h ( ) 1 1 y 2 ( x) y ( x) c1h c2 h 2 2 4
h) p 1 Yn( (1 1 ch
d
(h) n 1
因此可以从两次计算当中估计出每一步的截断误差,有了这个误差估计之后, 通过与控制误差限比较,就可以控制步长. 注意这个方法增加了计算量.
35
1 1 2 p
) (h (h) 2 Y Y n 1 ; n 1
30
yx 例 求解初值问题ODE : dy dx
易知其精确解为:y 2 2 x x 2 e x
2
,
y (0) 1.
步长都取为 h 0.1 分别用二阶、四阶 R K方法求解:
x
0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
常微分方程初值问题的数值解法
常微分方程初值问题的数值解法在实际应用中,对于某些微分方程,我们并不能直接给出其解析解,需要通过数值方法来求得其近似解,以便更好地理解和掌握现象的本质。
常微分方程初值问题(IVP)即为一种最常见的微分方程求解问题,其求解方法有多种,本文将对常微分方程初值问题的数值解法进行较为详细的介绍。
一、欧拉法欧拉法是最基本的一种数值解法,它采用泰勒级数展开并截断低阶项,从而获得一个差分方程近似求解。
具体来讲,设 t 为独立变量,y(t) 为函数 y 关于 t 的函数,方程为:$$y'(t) = f(t, y(t)), \qquad y(t_0) = y_0$$其中 f(t,y(t)) 为已知的函数,y(t_0) 为已知的初值。
将函数 y(t) 进行泰勒级数展开:$$y(t+h) = y(t) + hf(t, y(t)) + O(h^2)$$其中 h 表示步长,O(h^2) 表示其他高阶项。
为了使误差较小,一般取步长 h 尽可能小,于是我们可以用欧拉公式表示数值解:$$y_{n+1} = y_n + hf(t_n, y_n), \qquad y_0 = y(t_0)$$欧拉法的优点是容易理解和实现,但是由于截取低阶项且使用的单步法,所以误差较大,精度较低,在具体应用时需要慎重考虑。
二、龙格-库塔法龙格-库塔法(Runge-Kutta method)是一种多步法,比欧拉法更加精确。
龙格-库塔法的主要思想是使用不同的插值多项式来计算近似解,并且将时间步长分解,每次计算需要多次求解。
以下简要介绍二阶和四阶龙格-库塔法。
二阶龙格-库塔法将时间步长 h 分解成两步 h/2,得到近似解表达式:$$\begin{aligned} k_1 &= hf(t_n, y_n)\\ k_2 &= hf(t_n+h/2,y_n+k_1/2)\\ y_{n+1} &= y_n+k_2+O(h^3)\\ \end{aligned}$$四阶龙格-库塔法四阶龙格-库塔法是龙格-库塔法中应用最为广泛的一种方法,其需要计算的中间值较多,但是具有更高的精度。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
f
(
xn1
,
y(k) n1
)
hL y y 这里,L 是 f(x,y) 关于 y 的利普希茨常数,如果 (k )
n1
n1
选取 h 充分小,使得 hL<1,则当
时,有
,这说明以上迭代公式是收敛的。
y( k 1) n1
yn1
k
梯形公式
对方程
y从 f到( x,积y分) ,得 xn
yn
y( xn1) y( xn )
记
y(0)
0
,取
则 f ( x, y) ex2
h 0.5
于是欧拉x计0 算公0式, x:1 0.5, x2 1.0, x3 1.5, x4 2.0
可得:
yi
1
yi
0.5e x2
(i
0,1, 2, 3)
y0 0
y(0.5) y(1.5)
y1 y3
0.5, 1.07334,
例题
例:利用欧拉方法、改进欧拉方法求解以下初值 问题,其中步长 h 0.1。
y x y, x 0, 0.6
y(0) 0
例题
解:
f (x, y) x y
y0
0
欧拉 h计算公0式.1:
改进欧拉计算公式:
yi1 0.1xi 0.9 yi (i 0,1, 2,L , 6)
理论上就可以保证初值问题的解 y=y(x) 存在并f ( x, y) f ( x, y) L y y
且唯一。
显式欧拉公式
x 在 处的导数 n
可以近似y地(表x示n )成差商
用
y( xn
近似地代替
)
y( xn1 ) y( xn ) ,可将x初n值1 问题x离n散化成
y( xn1) y( xn ) h
P 4
P 3
P 2
P 1
P 0
x
x
x
x
x
0
1
2
3
4
在显式欧拉公式中,除了
外,有 y0 y( x0 )
和
。因此,用显式欧拉公式计算
所得到点f列( x的n散,点y图n ),是一y条(近xn似)欧拉折线。
yn y( xn )Biblioteka 隐式欧拉公式x 在
处的导数
n1
,可以近y似(表x示n成1差) 商
用 代替 ,
的近似
值 ,称这个值为预报值,预报值的精度可能
y 较差,再将n该1预报值代入梯形公式,求得 ,
称这个值为校正值,校正值的精度会有所提高,
如此建立的计算公式称为改进的欧拉公式。
yn1 yn1
yn1
yn
hf
( xn ,
yn )
yn1
yn
h 2
f
xn , yn f
xn1 , yn1
改进的欧拉公式
y 问题离散化n 成为
即
y( xn1 )
y( xn1 ) h
y( xn )
代替
,可将初值
y( xn ) yn1
y( xn1 )
f ( xn1, yn1 )
yn1 yn h
以上公式称为隐式欧拉公式。 yn1 yn hf ( xn1 , yn1 )
(2)
欧拉公式
公式 (1) 和 (2) 均为欧拉公式,但有本质的区
欧拉公式
隐式公式不能直接求解,需采用迭代法求解。用 显式欧拉公式提供迭代初值,其迭代公式为:
y(0) n1
yn hf ( xn , yn )
因为
y( k 1) n1
yn
hf
( xn1,
y ( k 1) n1
)
(k 0,1,L )
yn1
y( k 1) n1
=h
f ( xn1, yn1 )
在实际计算中,通常将改进欧拉公式表述称以下 形式:
yn1
yn
hf
( xn ,
yn )
预报:yn1
yn
h 2
f
xn , yn f
xn1 , yn1
校正: 改进:
y p yn hf ( xn , yn ) yc yn hf ( xn1 , y p )
1
yn1 2 y p yc
0.300 0
0.400 0
0.500
0.000000 0.000000 0.010000 0.029000 0.056100 0.090490
0.000000 0.004837 0.008731 0.011818 0.014220 0.016041
0.000000 0.005000 0.019025 0.041218 0.070802 0.107076
利用数值积分中的梯形公式
f xn1
xn
t, y(t) dt
f xn1
并将x式n 中的
t,
用y(t )代d替t,
h 2
用f
x代n ,替y( xn ) f
xn1, y( xn1 )
可导出
y( xn ) yn
y( xn1 )
yn1
称是此显公式式和为隐梯式形欧公拉yn式公1式。的容易算y看术n 出平,均h2梯。形f公式x实n际, yn f xn1 , yn1
别。式 (1) 是关于
y 的一个可直接进行的计算 n1
公式,这类公式称作显式的;而式 (2) 的右端含
有未知的 ,它实际上是一个关于
y 方程,这类公式称作隐n式1的。
的计算
yn1
yn1 yn hf ( xn , yn )
yn1
yn hf ( xn1 , yn1 )
(n 0,1,L ) (1) (n 0,1,L ) (2)
改进的欧拉公式
可以不难看到,梯形公式虽然提高了精度,但其 算法复杂,在应用迭代公式进行实际计算时,每 迭代一次,都要重新计算函数 f(x,y) 的值,而迭 代又要反复进行若干次,计算量很大。为了控制 计算量,通常只迭代一次就转入下一步的计算, 这样就简化了算法。
改进的欧拉公式
具体的说,先用显式欧拉公式求得
y(1.0) y2 0.88940 y(2.0) y4 1.2604
0.000000 -0.000163 -0.000294 -0.000400 -0.000482 -0.000545
例题
例:利用欧拉方法求以下公式在给出点处的近似
值(取 h 0.5 )。
y( x) x et2 dt
0
x 0.5,1.0,1.5, 2.0
例题
解:问题等价于求解
y e x2 , x 0, 2
为 yn
y( xn )
即
yn1 h
yn
f ( xn , yn )
以上公式y称n为1显式欧y拉n 公式h。f ( xn , yn )
(n 0,1,L )
(1)
为了不引起混淆 表示解
在处
的精确值,而
表示其近似值。
y( xn ) yn
y y(x) xn
显式欧拉公式几何意义
解曲线 欧拉节点 欧拉折线 近似欧拉节点 近似欧拉折线
2016/2017 学年 第一学期(16周)
欧拉公式 – 常微分方程
微分方程数值解法
在科学与工程技术领域中,常需要求解常微分方 程的定解问题。这类问题的最简单形式,是一阶 常微分方程的初值问题。
y f (x, y) 我们知y道( x,0只) 要右y端0函数 f(x,y) 适当光滑,如关
于 y 满足利普希茨条件
yi1 yi1
0.1xi 0.9 yi yi 0.05 ( xi
yi ) ( xi1
(i yi1 )
0,1, 2,L
, 6)
例题
解:计算结果如表所示。
xi yi (欧拉) y(xi ) yi yi (改进欧拉) y( xi ) yi
0.000 0
0.100 0
0.200 0