一阶常微分方程初值问题
y = 1.7178 x = 0.9000
y = 1.7848 x = 1.0000
§2 Euler方法
➢Euler方法的导出
f ( x) f ( x0 ) f '( x0 )( x x0 ) f ''( x0 ) / (2!)( x x0 )2 ...
将 y( xn1) 在点 xn处进行Taylor展开
称上述公式为向前Euler 公式。
若将 y( xn ) 在点 xn1 处进行Taylor展开
y( xn )
y( xn1)
hy( xn1)
h2 y(n )
2!
略去h2项:y( xn1) y( xn ) hf ( xn1, y( xn1))
然后用 yn代替 y( xn ) ,即得
可用拟合方法求该组数据 ( xi ,的yi近) 似曲线
欧拉(Euler)公式: (yn1-yn )/(xn1-xn )=f(xn,yn ), yn1 yn hf (xn ,yn ), (n 0,1, 2,L ).
(2.1)
例1 取h 0.1,利用Euler公式求解
y y 2x(, 0 x 1)
解:向前Euler公式: yn1 yn hf ( xn , yn )
yn1 0.1xn 0.9 yn 0.1
向后Euler公式: yn1 yn hf ( xn1, yn1)
yn1
1 1.1 (0.1xn1
yn
0.1)
y( x0 ) y0
常用的一些解析解法: 分离变量法、变量代换、 常数变易法、Lapalace变换等
Th9.1.1(解的存在唯一性)
对于初值问题 (,) 如果 f (在x,下y)列区域内连续:
G {a x b;| y | }
且关于 y满足Lipschitz条件,即存在常数 L, 使0
y
( 2.2)
y(0) 1,
解:yn1
yn
h( yn
2xn ) yn
1.1yn
0.2xn . yn
计算及结果如下.
clc;clear; y=1, x=0, %初始化
y= 1
x= 0
y = 1.1000 x = 0.1000
for n=1:10
y = 1.1918 x = 0.2000
第九章 常微分方程数值解法
/*Numerical Method for Ordinary Differential Equations*/
本章主要介绍一阶常微分方程初值问题的数值解法。
§1 引言
➢初值问题及其数值解的概念
dy 一阶常微分方程初值问题: dx
f ( x, y);a
xb ()
yn1 yn hf ( xn1, yn1) n 0,1, 2,L , N 1
称上述公式为向后Euler 公式。
向后Euler 公式为隐式格式,需要利用迭代法求解
例2:分别利用向前和向后Euler
dy
x
y 1
方法求解初值问题的数值 dx
解(取步长为 h 0.1 ) y(0) 1
| f ( x, y1) f ( x, y2 ) | L | y1 y2 |;x, y G
则初值问题 (存) 在唯一解,且解是连续可微的。
Def 1所谓数值解是指:在解的存在区间上取一系列点
x0 x1 x2 ... xn ...
逐个求出 y( xi )的近似值 yi (i 1, 2,3, ...)
y=1.1*y-0.2*x/y, x=x+0.1,
y = 1.2774 x = 0.3000
end
y = 1.3582 x = 0.4000
y = 1.4351 x = 0.5000
几何意义
y = 1.5090 x = 0.6000 y = 1.5803 x = 0.7000
y = 1.6498 x = 0.8000
y( xn1)
y( xn )
hy( xn )
h2 y(n )
2!
略去h2项: y( xn1) y( xn ) hf ( xn , y( xn ))
然后用 yn代替 y( xn ) ,即得
Hale Waihona Puke yn1 yn hf ( xn , yn ) n 0,1, 2,L , N 1
等距节点:xi x0 ih; h : 步长
➢初值问题 (的) 解析解及其数值解的几何意义:
y
(
x0
,
y
0
( )
x1, y1)
••
(
x2 ,
••
y
2)
•
( xn , y n )
•• y y( x)
积分曲线
o x0 x1 x2
xn
x
初值问题 (的) 解表示过点 ( x0的, y一0 )条曲线 初值问题 (的) 数值解表示一组离散点列 ( xi , yi )