当前位置:文档之家› 计算方法 常微分方程初值问题数值解法Euler公式龙格库塔法

计算方法 常微分方程初值问题数值解法Euler公式龙格库塔法

直线 P1P2 方程为: y y1 f(x1 , y1 )(x x1 ) 当 x x2 时,得
y2 y1 f(x1 , y1 )(x 2 x1 )
由此获得了P2的坐标。
重复以上过程, 对已求得点 Pi(xi , yi ) ,以 y(xi ) f(x i , yi )
为(近似)斜率作直线
y yi f(x i , yi )(x xi )
当 x xi1 时,得
yi1 yi f(x i , yi )(x i1 xi )
这样,从x0逐个算出 x1 , x2 , … xn
对应的数值解
y1 , y 2 , … yn
就获得了一系列的点: P1, P1,…,Pn。 从图形上看,就获得了一条近似于曲线y=y(x)
yi, yi1, yi2,… , y0
计算 y i1 的递推公式。
以便对初值问题
y f(x, y) y(x0 ) y0
中的导数 y 进行离散化处理。
§9.2 简单的数值方法与基本概念
9.2.1 Euler公式
欧拉(Euler)方法是解初值问题的最简单的数值方法。
初值问题
y f(x, y) y(x0 ) y0
的解y=y(x)代表通过点 (x0, y0 ) 的一条称之为微分方程
的积分曲线。
积分曲线上每一点 (x, y)的切线的斜率 y(x)等于函 数 f(x, y) 在这点的函数值。
Euler法的求解过程: 从初始点P0( 即点(x0,y0))出发,
作积分曲线y=y(x)在P0点上切线 P0P1,其斜率为
• 如下是一些典型方程求解析解的基本方法 ➢ 可分离变量法、 ➢ 常系数齐次线性方程的解法、 ➢ 常系数非齐次线性方程的解法等。
• 但能求解的常微分方程仍然是很少的,大多数 的常微分方程是不可能给出解析解。例如,一 阶微分方程
y x2 y2
的解就不能用初等函数及其积分来表达。
• 从实际问题当中归纳出来的微分方程,通常主 要依靠数值解法来解决。
计算方法 (Numerical Analysis)
第12次 常微分方程初值问题数值解法
内容
1. 常微分方程初值问题解的存在性定理 2. Euler公式 3. 梯形公式 4. 两步Euler公式 5. 欧拉法的局部截断误差 6. 改进型Euler公式 7. 龙格-库塔法 8. 算法实现
常微分方程初值问题 解的存在性定理
y(x0 ) f(x 0 , y0 )
Pn
y
P1(x1 , y1)
P2(x2 , y2)
y=y(x)
Pi(xi , yi) Pi+1(xi+1 , yi+1) y(xn)
P0y(x0) y(x1)
y(x2) y(xi)
y(xi+1)
x0 x1
x2 xi
xi+1
xn
直线 P0P1 的方程为: y y0 f(x 0 , y0 )(x x0 )
对R内的所有x,y 都成立。
则方程( 9.1 ) 在a , b上存在唯一的连续可微解
y=y(x) 。
Home
Euler公式
本章假设微分方程初值问题(9.1)有解
常微分方程初值问题(9.1)的数值解法的基本思想:
• 算出精确解y(x)在区间a,b上的一系列离散节 点
a x0 x1 … xn1 xn b
第9章 常微分方程初值问题数值解法
§9.1 引言
➢ 包含自变量、未知函数及未知函数的导数的方程称 为微分方程。
➢ 自变量个数只有一个的微分方程称为常微分方 程。
➢ 微分方程中出现的未知函数最高阶导数的阶数 称为微分方程的阶数。
➢ 如果未知函数y及其各阶导数
y, y, … , y(n)
都是一次的,则称其为线性的,否则称为非线性的。
当 x x1 时,得 y1 y0 f(x 0 , y0 )(x1 x0 )
这样就获得了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 )
yi1 yi y0 y(x0 )
hf(xi
,
yi
)
,
i
0,1,...,n
( 9.2 )
其中,h xi1 xi 为常数,i=0,1,…,n
处的函数值 y(x 0 ), y(x 1 ), … , y(x n ) (未知)
的近似值 y 0 , y1 ,… , yn
y=y(x)
a=x0 x1 x2 x3 xn=b
• 相邻两个节点的间距 h xi1 xi 称为步长,
步长可以相等,也可以不等。 • 本章总是假定h为定数,称为定步长,这时节
的折线 P1P2P3 … Pn 。
y
y1
y2
yi
yi+1
P0y(x0) y(x1)
y(x2) y(xi)
y(xi+1)
yn Pn y=y(x)
y(xn)
x0 x1
x2 xi
xi+1
xn
微分方程(9.1)的精确解y=y(x)的近似解为:
y1, y2, …, yn
Euler公式
Euler法的计算公式可以表达为:
• 本章主要讨论一阶常微分方程初值问题
y f(x, y) y(x 0 ) y 0
在区间a ≤ x ≤ b上的数值解法。
(9.1 )
定理1:如果函数f(x, y)在带形区域
R {a x b,- y }
内连续,且关于y满足李普希兹(Lipschitz)条件, 即存在常数L(它与x, y无关)使
点可表示为
xi x0 ih, i 1,2, … , n
数值解法需要把连续性的问题加以离散化,从 而求出离散节点的数值解。
a=x0 x1 x2 x3 x4 xn-1 xn=b
• 常微分方程数值解法的基本出发点:离散化。 采用“步进式”,即求解过程顺着节点排列的 次序逐步向前推进。
• 算法:要求给出用已知信息
f(x, y1 ) f(x, y2) L y1 y2 , y1 , y2 R
则方程( 9.1 ) 在a, b上存在唯一的连续可微分的 解的解 y=y(x) 。
推论:如果函数f(x,y)对y的偏导数
f(x, y) }
内有界。
即存在常数L(它与x,y无关)使 | f(x, y) | L y
相关主题