一阶常微分方程的初值问题
微分方程中的初值问题理论

微分方程中的初值问题理论微分方程是数学领域中的重要分支,它描述了一种变量与其变化率之间的关系。
在实际问题中,经常会遇到需要确定微分方程的解的具体形式,并以给定的初值条件作为起点进行求解的情况,这就是初值问题。
初值问题理论是微分方程研究的基础之一,本文将介绍微分方程中初值问题的理论基础和解法。
一、初值问题的定义初值问题是指给定一个微分方程及其解空间上一点的值,通过求解微分方程,确定解空间上满足给定初值条件的特定解。
初值问题的一般形式可以表示为:̇= (, )= ₀= ₀其中,表示未知函数,是自变量,是因变量,表示关于和的函数关系。
是关于和的函数,是任意给定实数。
初值问题的目标是找到满足上述方程和初值条件的特定解。
二、初值问题的解法解决初值问题的方法有很多种,常见的有解析解法和数值解法。
1. 解析解法解析解法是通过一系列数学手段,直接求得微分方程的解的公式,从而得到满足初值条件的特定解。
这种方法适用于某些特定形式的微分方程,例如线性微分方程、可分离变量的微分方程等。
解析解法的优势在于可以得到精确的解析表达式,从而能够准确描述问题的性质和变化规律。
但是,对于一些复杂的非线性微分方程,往往无法找到解析解,这时需要采用数值解法。
2. 数值解法数值解法是通过近似计算,利用离散的数值方法求解微分方程并得到数值近似解。
这种方法的思路是将微分方程转化为差分方程,并利用离散的计算方法逼近微分方程的解。
数值解法的优势在于适用性广,能够处理各种类型的微分方程,并能够得到任意精度的解。
常见的数值解法包括欧拉法、龙格-库塔法、改进欧拉法等。
三、初值问题的存在唯一性定理对于一阶常微分方程,初值问题存在唯一性定理是指在一定条件下,初值问题的解是存在且唯一的。
存在性定理:设 (, ) 是微分方程 , µ区间上的解且在 µ上连续,则初值问题在 [a,b] 上存在解。
唯一性定理:设 (, ) 和 (, ) 是微分方程在一定区域上的两个解,如果对于 µ [a,b] 上的某个点 x₀, ̇ (x₀) = ̇ (x₀),那么在整个区域上µ, (x) = (x),这就是说,在初值问题存在的条件下,初值问题的解是唯一的。
求下列一阶常微分方程的通解

并证明当 h → 0 时,它收敛于原初值问题的准确解 y = e− x 。
3 13. 考虑由增量函数 h 1 1 ϕ( x, y, h) = f ( x, y) + g x + h, y + h f ( x, y) 2 3 3 ∂ ∂ 决定的单步方法,其中 g( x, y) = f ( x, y) + f ( x, y) f ( x, y),研究方法的阶与收敛性。 ∂x ∂y
的局部截断误差。
5 7. 若用 Euler 法求解初值问题 y = e−t − 3y sin t, y(0) = 1, 0 ≤ t ≤ π/3,为保证绝对稳定 性,步长有何限制? 8. 试分别推导二阶和三阶 RK 方法的绝对稳定区间。 9. 试证明四阶 RK 方法的绝对稳定性条件是 1 1 1 1 + hλ + (hλ)2 + (hλ)3 + (hλ)4 ≤ 1, 2 6 24 并在复平面上绘出绝对稳定域的边界。 习 题 9.5 1. 用二步 Adams 显式法解初值问题 y = − x2 y, y(0) = 1, 0 ≤ x ≤ 0.5,取 h = 0.1,y1 用改 进 Euler 公式。 2. 分别用数值积分法和待定系数法导出四阶 Adams 隐式公式及其局部截断误差主项。 3. 将多步法 h yn+2 + 9yn+1 − 10yn = (13 fn+1 + 9 fn ) 2 y = 0, y(0) = c,
9. 用改进 Euler 法和梯形法解初值问题 y = x2 + x − y, y(0) = 0. 取步长 h = 0.1,计算到 x = 0.5,并与准确解 y = −e− x + x2 − x + 1 相比较。 10. 用梯形法解初值问题 y = ax + b, y(0) = 0, 设步长为 h,求数值解的精确表达式,并证明数值解是准确的。 11. 用梯形法求初值问题 y = ey , 0 ≤ t < 1, y(0) = 0, 在 t = 1/2 的近似解。与精确解 y(1/2) = ln 2 进行比较。注意:步长至少取多小,所 得结果才可靠。 12. 用梯形方法求解初值问题 y + y = 0, y(0) = 1, 证明其近似解为 yn = 2−h n , 2+h
一阶常微分方程初值问题数值解的Excel实现_周江波

科技信息
博士·专家论坛
一阶常微分方程初值问题数值解的 Exce l 实现
江苏大学理学院 周江波
[摘 要]通过实例,阐述了如何借助 Excel 的工作表和自定义宏函数用经典的龙格—库塔公式求一阶常微分方程初值问题的数值 解。这种解法具有直观、简便、省时的优点。 [关键词]Excel 一阶常微分方程 数值解
反复使用该宏函数,可以得到上面例子中的初值问题的数值解如 图 4 所示。得到该数值解所用的公式见图 5。
图 1 利用 Excel 标准的电子表格界面显示的经典的龙格—库塔公式 计算的一微分方程初值问题的数值解
图 4 利用宏函数 r(h,x,y) 得到的图 1 中初值问题的数值解
作者简介:周江波(1976- ),男,江苏泰兴人,讲师,博士,主要从事非线性偏微分方程的研究。
这就会大大增加计算所用的时间。
本文提出利用 Excel 求一阶常微分方程初值问题数值解。 通过一
个实例讲解如何利用 Excel 将用经典的龙格—库塔公式计算一阶常微
一阶常微分方程的数值求解

作业 利用Euler方法和R-K方法求解一个 常微分初值问题,并比较数值结 果,计算数值解和解析解的误差。
在 [ xk , xk 1 ] 内多取几个点,将它们的导数加权平均代 替 f ( x, y( x)) ,设法构造出精度更高的计算公式。
常用的是经典的 四阶R-K方法
y0 y( x0 ), xk 1 xk h yk 1 yk h (L1 2 L2 2 L3 L4 )/6
若 f 在 D {a x b,| y | } 内连续,且满足 Lip 条件:
dy f ( x , y) , y( x0 ) y0 , x [a, b] dx
L 0, s.t.| f ( x, y1 ) f ( x, y2 ) || y1 y2 | , 则上述问题的连续可
Matlab函数数值求解
[T,Y] = solver(odefun,tspan,y0)
其中 y0 为初值条件,tspan为求解区间;Matlab在数值求解 时自动对求解区间进行分割,T (向量) 中返回的是分割点的 值(自变量),Y (向量) 中返回的是解函数在这些分割点上的函 数值。
solver 为Matlab的ODE求解器(可以是 ode45、ode23、
其中
L1 L2 L3 L4
f ( xk , yk ) f ( xk h / 2, yk hL1 / 2) f ( xk h / 2, yk hL2 / 2) f ( xk h, yk hL3 )
例3:利用四阶R-K方法求解例1与例2,并与Euler方法的 数值解进行比较。
y( xk 1 ) y( xk ) y( xk 1 ) y( xk ) dy O ( h) dx x h h k
第八章_常微分方程初值问题的单步法

为使局部截断误差为O(h ) ,应取
则
k j f ( xi c j h, y( xi c j h)) f ( xi c j h, y( xi ) hc j y( xi )) f ( xi c j h, y( xi ) hc j f ( xi , y( xi )))
f ( xi c j h, yi h a jm km )
f xx f xx ( xi , yi ), f yy f yy ( xi , yi ), f xy f xy ( xi , yi ),
由此得
k1 f , k2 f ( xi c2 h, yi c2 hk1 ) f ( xi , yi ) c2 h( f x k1 f y ) O(h ),
一. Euler方法
a x0 x1 x2 xN 1 xN b, ba x j x0 jh, h , j 1, 2, , N . N
y0 y ( x0 ), yi 1 yi hf ( xi , yi ), i 0,1, , N 1
一阶常微分方程初值问题的数值方法
------单步法
武汉大学数学与统计学院
一阶常微分方程初值问题的一般形式是:
y f ( x, y ), a x b (1) y(a) y0 D {( x, y ) a x b, c y d }
称f(x,y)在区域D上对y满足Lipschitz 条件是指:
定理显然得证.
8.1.2 一阶常微分方程初值问题的 Runge-Kutta方法
考虑一阶常微分方程初值问题
y f ( x, y ), a x b, y (a ) y0 ,
常微分方程初值问题数值解法

0.4 1.3582 1.3416 0.9 1.7178 1.6733
0.5 1.4351 1.4142 1.0 1.7848 1.7321
7
初值问题(2.2)有解 y ,1按2这x 个解析式子
算出的准确值 y(x同n )近似值 一y起n 列在表9-1中,两者 相比较可以看出欧拉方法的精度很差.
17
所以,局部截断误差可理解为用方法(2.10)计算一步的 误差,也即公式(2.10)中用准确解y(x代) 替数值解产生
的公式误差.
根据定义,显然欧拉法的局部截断误差
Tn1 y( xn1) y( xn ) hf ( xn , y( xn ))
y(xn h) y(xn ) hy(xn )
y(2) n1
yn
hf
( xn1,
y (1) n1
).
11
如此反复进行,得
y (k 1) n1
yn
hf
( xn1,
y(k) n1
),
(k 0,1, ).
(2.6)
由于 f (x,对y) 满足y 利普希茨条件(1.3). 由(2.6)减 (2.5)得
y (k 1) n 1
yn1
h
f
( xn1,
y(k) n 1
积分曲线上一点 (x的, y切)线斜率等于函数 值.
的f (x, y)
如果按函数 f (在x, y) 平x面y上建立一个方向场,那 么,积分曲线上每一点的切线方向均与方向场在该点的方 向相一致.
基于上述几何解释,从初始点 P0 (x出0 ,发y0,) 先依 方向场在该点的方向推进到 x 上x1一点 ,P然1 后再从 P1 依方向场的方向推进到 x 上x2一点 ,循P2此前进做出
《常微分方程指导与实验》第2章:一阶微分方程的解的存在定理

第二章 一阶微分方程的解的存在定理§2.1 一阶微分方程解的基本理论主要内容一 导数已解出方程初值问题解的存在唯一性定理 考虑导数已解出的一阶DE 的初值问题()()00,y f x y y x y '=⎧⎪⎨=⎪⎩(2.1)(2.2)这里()y x f ,是在闭矩形域R : a x x ≤-0,b y y ≤-0上的连续函数。
定义2.1 如果存在常数0>L ,使得对于所有的点()1,y x ,()2,y x R ∈,都有不等式()()2121,,y y L y x f y x f -≤-成立,则称函数()y x f ,在R 上关于y 满足李普希兹(Lipschitz )条件。
1定理2.1 (毕卡存在唯一性定理) 如果()y x f ,在R 上满足条件: 1)连续;2)关于y 满足李普希兹条件,则初值(2.1)和(2.2)在区间h x x ≤-0上存在唯一解()x y y =,其中()M b a h ,m in=,()y x f M R y x ,max ),(∈=。
注1 取数h 的意义。
注意到()y x f M R y x ,max ),(∈=,从而积分曲线()x y y =在任一点()()R x y x ∈,处的切线斜率()M x y ≤'。
于是从点()o y x p ,0引两条斜率分别为M 和M -的直线1l 和2l ,便知过点P 的积分曲线必限制在图2.1和图2.2的阴影区域内。
而直线1l 和2l 相交情形有如下两种可能。
(i )若相交成如图 2.1所示的情况,则a Mb>,积分曲线()x y y =在a x x ≤-0上不越出R ,从而应取a h =。
(ii )若相交成如图 2.2所示的情况,则a Mb >,积分曲线()x y y =在Mb x x ≤-0上不越出R ,从而应取Mb h =。
总之,取()M ba h ,min =,就是为了使初值问题(2.1)和(2.2)的解在h x x ≤-0上总存在。
数学物理第六章-特征线法

x at c1, x at c2
解二 考虑弦振动方程的Cauchy问题
utt u(
x,
a2uxx 0,
0) (x),
x ut (x, 0)
,t 0
(x),
x
(1) (2)
特征线族
dx dt
2
a2
0
(3)
(3)称为特征方程。
即
dx a 0, dx a 0
dt
dt
:x (
x(s),t dx , dt , ds ds
t(s),u u(x(s),t
du ds
)
|P0
。显然,向量
(s)) n与
在点 P0 的切向量为 在点 P0 相互垂直。
记 (a(x, t, u), b(x, t, u), c(x, t, u)) |P0 , 则方程(9)式 恰好表示法向量 n 与 在点 P0 处相互垂直。因此,在曲面 u u(x,t) 上,以向量 为切向量且与曲线 相交,交点为
(x t 1)et 1
所以
u(x,t) 1 (x t 1) et 1 (x t 1)e2t
2
2
下面考虑一阶拟线性方程,即一阶导数的系数与未知函数 u 有关。
一阶拟线性方程柯西问题的一般形式为
a( u(
x, x,
t, u)ux
0)
b(x,t,u)ut c( (x), x
( , 0,( )) 的曲线方程为
dx
ds
a( x, t, u),
x(0)
dt
ds
b( x, t, u),
t(0) 0
(11)
du ds
c(
x,
t,
u),
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
dy f ( x, y) dx y ( x 0 ) y0
• 节点:x1<x2< … <xn • 步长 h xi xi 1 为常数
• 一
欧拉方法(折线法) yi+1=yi+h f(xi,yi) (i =0,1, …, n-1) 优点:计算简单。 缺点:一阶精度。 • 二 改进的欧拉方法
• 三
龙格—库塔法(Runge-Kutta)
欧拉公式可改写为
yi 1 yi hk1 k f ( x , y ) i i 1
它每一步计算 f (xi,yi) 一次,截断误差为O(h2)
• 标准四阶龙格—库塔公式
yi 1 h yi (k1 2k 2 2k3 k 4 ) 6 k1 f ( xi , yi ) h h k 2 f ( xi , yi k1 ) 2 2 h h k3 f ( xi , yi k 2 ) 2 2 k 4 f ( xi h, yi hk3 )
它每一步计算f(x,y)两次,截断误差为O(h3)
dy y dt
y(0) 1, 0 t 1
t y e 精确解:
function [t,y] = Heun(ode,tspan,h,y0) t = (tspan(1):h:tspan(end))'; n = length(t); y = y0*ones(n,1); for i=2:n k1 = feval(ode,t(i-1),y(i-1)); k2 = feval(ode,t(i),y(i-1)+h*k1); y(i) = y(i-1)+h*(k1+k2)/2; end
用经典4阶 Runge-Kutta 法求解的格式为
h ui 1 ui k1 2k 2 2k 3 k 4 6 h v i 1 v i c1 2c 2 2c3 c4 6
k1 f ( x i , ui , v i ) c1 g ( x i , ui , v i ) h 1 1 , ui hk1 , v i hc1 ) 2 2 2 h 1 1 c2 g( x i , ui hk1 , v i hc1 ) 2 2 2 h 1 1 k 3 f ( x i , ui hk 2 , v i hc2 ) 2 2 2 h 1 1 c3 g( x i , ui hk 2 , v i hc2 ) 2 2 2 k4 f ( x i h, ui hk 3 , v i hc3 ) k2 f ( xi c4 g( x i h, ui hk 3 , v i hc3 )
n 级显式Runge-Kutta 方法的一般计算格式:
yi 1 yi h b j k j ,
其中
k1 f ( x i , y i ),
j 1
n
k j f ( i c j h, y i h a jm k m ),
m 1
j 1
c j a jm , j 2, 3, , n.
Adams 内插公式(Adams-Moulton 公式)是一类 k+1 步 k+2 阶隐式方法 三步法(k=2),
yi 1
h yi (9 f i 1 19 f i 5 f i 1 f i 2 ), i 2, 3, , N 1. 24
Adams 预估-校正方法(Adams-Bashforth-Moulton 公式) 一般取四步外插法与三步内插法结合。
#include <stdio.h> #include <stdlib.h> #include <math.h> #define TRUE 1 main() { int nstep_pr, j, k; float h, hh, k1, k2, k3, k4, t_old, t_limit, t_mid, t_new, t_pr, y, ya, yn; double fun(); printf( "\n Fourth-Order Runge-Kutta Scheme \n" ); while(TRUE){ printf( "Interval of t for printing ?\n" ); scanf( "%f", &t_pr ); printf( "Number of steps in one printing interval?\n" ); scanf( "%d", &nstep_pr ); printf( "Maximum t?\n" ); scanf( "%f", &t_limit ); y = 1.0; /* Setting the initial value of the solution */ h = t_pr/nstep_pr; printf( "h=%g \n", h ); t_new = 0; /* Time is initialized. */ hh = h/2; printf( "--------------------------------------\n" ); printf( " t y\n" ); printf( "--------------------------------------\n" ); printf( " %12.5f %15.6e \n", t_new, y );
j 1
Adams 外插公式(Adams-Bashforth 公式)是一类 k+1 步 k+1 阶显式方法 三步法(k=2),
m 1
h yi 1 yi ( 23 f i 16 f i 1 5 f i 2 ), i 2, 3, , N 1. 12 四步法(k=3), h yi 1 yi (55 f i 59 f i 1 37 f i 2 9 f i 3 ), i 3, 4, , N 1. 24
y p y i hf ( x i , y i ) yc y i hf ( x i 1 , y p ) 1 y i 1 ( y p yc ) 2
• 改进的欧拉公式可改写为
h y y ( k k ) i 1 i 1 2 2 k1 f ( xi , yi ) k f ( x h, y hk ) i i 1 2
0 1/2 1/2 1/2 0 1/2
1
0
1/6
0
2/6
1
2/6 1/6
每一步计算 f (x, y) 四次,截断误差为O(h5)
对于两个分量的一阶常微分方程组
u' ( x ) f ( x , u( x ), v ( x )), u(a ) ; v ' ( x ) g( x , u( x ), v ( x )), v (b) .