第7章常微分方程数值解法
3.使用数值积分的方法
对于微分方程 y’=f(x,y)两边求x0到 x的定积分
即
x x0
dy dx
dx
x x0
f
(
x,
y(
x))dx
x
y( x) y( x0 ) x0 f (t, y(t))dt
或写为
x
y( x) y0
f (t, y(t))dt x0
这就是与初值问题
y' f ( x, y)
本章只讨论x0, x1,…,xn等距的情 况,设
xi+1-xi = h,
i = 0, 1, …, n-1
上式中的h值称为步长 .
对于常微分初值问题
一般解 y = y(x) 数值解
x x0 x1 x2 … xn … y y0 y1 y2 … yn …
注:本章使用的符号
y(xi) : 一 般 解 y=y(x) 在 x=xi 处的精确值.
根据y’=f(x,y),得公式
yi1 yi hf y0 y(x0 )
(
xi
,
yi i
)
0,1,2
又因为y’=f(x,y),故
y" f f dy f f f x y dx x y
故若取泰勒展式的前三项,则可 得公式
yn1
yn
hy'n
h2 2
y"n
yn hf ( xn , yn )
h2 2
f
x
( xn,
f (xn,
yn ) yn )
f
'y
(
xn
,
yn
)
与上类似,一般可取公式为如下形
式
yn1
yn
hy'n
h2 2!
y"n
hp p!
y( p) n
注:应用泰勒公式求数值解,从形式上看 简单,其实具体构造这种公式往往是相当困
难的,因为它需要提供导数值,y(j)n当阶数
提高时,求导过程可能很复杂,因此泰勒公 式通常不直接使用,但可以用它来启发思路。
y(
x0
)
y0
常微分方程
理论上可以证明:只要函数f(x,y)适当光 滑—关于y满足李普希兹(Lipschitz)条件
| f ( x, y) f ( x, y) | L | y y |
则初值问题的解存在唯一。
例 y' 2x
y(0)
0
y'1 2xy
y(0)
0
思考:常微分方程中的未知数是什么?
yi y( xi ) (i 1, ... , n)
节点间距 hi xi1 xi (i 0, ... , n 1) 为步长,通常采用等距节点, 即取 hi = h (常数)。
§7.2.1 欧拉方法
➢ 欧拉公式:
向前差商近似导数
x0
y( x0 )
y( x1 ) h
y(x0 )
y( x1 ) y( x0 ) hy( x0 ) y0 h f ( x0 , y0 )
二、常微分方程的数值解
由于在实用上对初值问题,一般 是要求得到解在若干点上满足规定 精确度的近似值yi,或者是得到一 个满足精确度要求的便于计算的近 似表达式。
故常微分方程的数值解就是求出 在若干点上解的近似值。
定义:常微分方程初值问题的数值解
一般是指在由初始点x0开始的若干 离散的x值处,即对x0<x1<x2<…<xn, 求出准确值y(x1),y(x2),…,y(xn)的近似 值y1,y2,…,yn
第7章 常微分方程数值解法 §7.1 引言
一、有关常微分方程 二、数值解法 三、数值解法的三种类型
/* Numerical Methods for Ordinary Differential Equations */
一、有关常微分方程
1. 什么是常微分方程的初值问题?
初值问题
y f (x, y)
2.使用泰勒公式
在微分方程y’=f(x,y)中,y’是x及 y(x)的函数.由于精确值y(x+h)在 h=0处的泰勒展式为
y(x h) y(x) hy' (x) h2 y"(x) 2
h3 y( x) h4 y (4) (x)
6
24
若取泰勒展式的前两项,则有
y(x+h)y(x)+hy’(x)
的隐函数.
§7.2 简单数值方法与基本概念
一、欧拉公式 二、隐式的欧拉公式 三、梯形公式 四、中点欧拉公式 五、改进的欧拉公式
考虑一阶常微分方程的初值问题 /* InitialValue Problem */:
dy f ( x, y) x [a, b] dx y(a) y0
要计算出解函数 y(x) 在一系列节点 a = x0< x1<…< xn= b 处的近似值
即 y(x+h)≈y(x)+hf(x,y)
故原初值问题可离散化为
yi1 yi hf y0 y(x0 )
(
xi
,
yi i
)
0,1,2
于是由初始值y(x0)=y0出发,可 依次地计算出
y1=y0+hf(x0,y0) y2=y1+hf(x0+h,y1)
……
yn=yn-1+hf(x0+(n-1)h,yn-1) ……
y(
x0
)
y0
等价的积分方程。只要用某种数值 积分方法便可建立起近似公式。
例:对积分部分应用左矩形公式,则
有
y(xi1) y(xi )
xi1 f (t, y(t))dt xi
xi1 xi
2
f (xi , y(xi ))
yi1 yi hf (xi , yi )
y0
y(x0 )
2.常微分方程的一般解(解析解)
对一些典型的微分方程(可分离变量方程, 一阶线性方程等等),有可能找出它们的一 般解表达式,然后用初始条件确定表达式 中的任意常数,这样解即能确定。
例如 求解
y' 2x
y(0)
0
解:分离变量得 dy=2xdx 积分得y=x2+c 由初值得c=0 故解为y=x2
注:生产和科研中所处理的微分方 程往往很复杂且大多得不出一般解
i 0,1,2
例:对积分部分应用梯形公式,则有
y(
xi1
) y(xi
xi1 xi
2
) f
( xi
,
xi1 f (t, xi y(xi )) f
y(t))dt ( xi1, y( xi1
))
故其数值公式为
yi1
yi
h[ 2
f
(xi ,
yi )
f
( xi 1 ,
yi 1 )]
其 特 点 是 yi+1 表 示 成 xi , xi+1 及 yi
yi : 一 般 解 y=y(x) 在 x=xi 处 的近似值.
三、数值解法的三种类型
1.用差商代替导数
由导数定义
y'(x) lim y(x h) y(x)
n0
h
故若h的值较小,则有
y'(x) y(x h) y(x) h
代入y’= f (x,y)可得
y(x h) y(x) f (x, y) h