数值分析引论显式Adams方法、隐式Adams方法、预估–校正四阶Adams方法、预估–校正–改进四阶Adams方法

合集下载

数值积分_亚当姆斯

数值积分_亚当姆斯

类似地,三阶和四阶隐式亚 当姆斯格式为:
yn 1 yn
yn 1 yn
h n 1 8 y n y n 1 ) (5 y 12
率。
考察如下隐式计算格式:
h n 1 19 y n 5 y n 1 y n 2 ) (9 y 24
n 1 y n ] yn 1 yn h[(1 ) y n f (tn , yn ) y n 1 f (tn 1 , yn 1 ) y
tn
t n1
若用近似值yn+1、yn、Qn代替上式中的各项,则可写出
yn+1 = yn+Qn
t=t0即 n=0时,y1=y0+Q0,其中, y0已知,若用数值积分法求出Q0即可得到y1。 依此类推,可求出t1 、t2、… 、tn时刻的近似值 y1、y2、 … 、 yn
可见,这是一种步进式的近似解法,故存在精度和稳定性问题。
y (tn 1 ) y (t0 )
tn t0
tn1
t0

f ( , y )d
y (t n 1 ) y (t0 ) f ( , y )d f ( , y )d
tn
箭头所指的部分结构形式相同,只是积分上限不同。
t n1
故有:
y (t n 1 ) y (t n ) f ( , y )d
n1 f (tn1 , y n1 ) y
yn 1 yn
隐式公 式校正
这种预报-校正是四步法,它在计算 yn1 时,不仅用到前一步信息 yn , y n , 而且还要用到再前三步的信息 n1, y n2 , y n3 因此不能自启动。在实际 y 计算中,可借助某种单步法,譬如四 阶龙格库塔法提供开始值 y1 , y2 , y3 。

高等数值分析作用欧拉法与阿达姆斯法

高等数值分析作用欧拉法与阿达姆斯法

求解常微分方程初值问题的方法分为单步法和多步法,单步法主要有欧拉法和Runge- Kutta 法,多步法主要有Adams 法和Milne 法,本文仅以最常用的Runge- Kutta 法和Adams 法分别作为单步法和多步法的例子,对两种方法进行分析比较。

Euler 法是最简单的一种求解常微分方程初值问题的数值方法,但其局部截断误差仅为,是一阶方法,为了达到更高的精度,我们构造了RK 法.通过构造高阶单步法来提高精度,而较高的精度意味着计算结果更加精确,误差随着的减小迅速减小,考虑常微分方程:常用的多步法主要有Adams 法和Milne 法,本文仅以Adams 法为例介绍多步法,其中Adams 法又包括显式Adams 法和隐式Adams 法。

显式Adams 法:Adams- Bashforth 公式:公式(2.7)又称为Adams 外插公式[2]。

为方便计算,改用函数值表示后差:因(2.7)或(2.8)是显式公式,所以又称它们为显式Adams 公式, 易见显式Adams 公式(2.7)或(2.8)是线性步公式。

常用的四阶显式Adams 公式为[2]隐式Adams 法称(2.10)为Adams-Moulton 公式.所用的牛顿向后插值多项式基点为,而积分区间为,故上式又称为Adams 内插公式,该式为隐式公式,故又称为隐式Adams 公式。

这是一个关于的隐式方程,在计算中,需要将式(2.12)写成显式格式,但一些方程难以求出其显式格式,这就需要将四阶显式Adams 法和四阶隐式Adams 法结合起来,用显式公式(2.9)作为预测,然后用隐式公式(2.12)作校正,构造Adams预测- 校正公式[2]式(2.13)为四阶公式,式中的初始值除y0 已给定,y1,y2,y3 常用四阶RK法计算.四级RK 法每前进一步需要计算四个函数值,对N级RK法,每计算一步,函数f 需要计算N次。

因此,对给定的N,我们总是希望构造阶数最高的方法,记是N级RK法所能达到的最高的阶数,已经得到下面的结果[4]:由此可见,当时,,从而四级四阶RK法是较受欢迎的方法。

隐式adams例题

隐式adams例题

隐式adams例题隐式Adams方法是一种数值求解常微分方程初值问题的方法,它是Adams方法的一种变体。

Adams方法是一种显式的多步法,而隐式Adams方法则是一种隐式的多步法。

这种方法通常用于求解具有刚性或者不稳定特性的微分方程,因为它对于步长的选择更加灵活,能够稳定地求解这类问题。

让我们以一个简单的例子来说明隐式Adams方法的应用。

考虑一个一阶常微分方程 y' = -y,初始条件为 y(0) = 1。

我们希望使用隐式Adams方法来求解这个方程。

首先,我们可以使用隐式Euler方法作为初始的一步方法来得到 y(1) 的近似值。

然后,我们可以使用隐式Adams方法来迭代地计算出更多的近似值。

隐式Adams方法的迭代公式可以通过线性多步法的一般形式来推导,但为了简化,这里我们不展开推导过程。

隐式Adams方法的迭代公式可以写作 y_{n+1} = y_n + h/24 (9f_{n+1} + 19f_n 5f_{n-1} + f_{n-2}),其中 h 是步长,f_{n} 表示在点 (t_n, y_n) 处的导数值。

这个公式是隐式的,因为在计算 y_{n+1} 时,需要用到未知的 y_{n+1}。

通过这样的迭代过程,我们可以逐步计算出更多的近似解,并且可以灵活地调整步长以控制精度和稳定性。

当然,在实际应用中,我们还需要考虑数值稳定性、收敛性、截断误差等因素,以确保所得到的数值解是准确可靠的。

总之,隐式Adams方法是一种重要的数值求解方法,在处理一些特殊的微分方程问题时具有独特的优势。

通过合适的迭代和步长控制,它可以稳定、高效地求解具有刚性或者不稳定特性的微分方程,为科学计算和工程应用提供了有力的工具。

亚当姆斯方法

亚当姆斯方法

yi1 y(xi ) hy(xi ) (1 )h2 y(xi ) O(h3 )
可见要使格式(7.23)具有二阶精度,需令 1 ,
这样就可构造二阶隐式亚当姆斯格式
2
yi1
yi
h 2
(
yi1
yi)
其实是梯形格式。类似可导出三阶隐式亚当姆斯格

y i 1
yi
h 12
(5
yi1
8 yi
yi1)
1 2
h2 y(xi )
O(h3 )
相比较, 需取 1
2
才使格式(7.21)具有二阶精度。这样导出的计算格式
yi1
yi
h 2
(3
yi
yi1 )
称之为二阶亚当姆斯格式。类似地可以导出三阶亚
当姆斯格式。
y i 1
yi
h 12
(23
yi
16 yi1
5 yi2 )
和四阶亚当姆斯格式。
yi1
yi
h 24
(55
yi
59yi1
37 yi2
9 yi3 )
这里和下面均记 yik f (xik , yik )
(7.22)
上述几种亚当姆斯格式都是显式的,算法比较 简单,但用节点 xi , xi1 ,, x1 的斜率值来预报
区间 xi , xi1 上的平均斜率是个外推过程,效果不够
理想。为了进一步改善精度,变外推为内插,即
某种单步法,譬如四阶龙格—库塔法提供开 始值 y1, y2 , y3 。
例7.5 取步长h=0.1,用亚当姆斯预报-校正公式求解
初值问题
y x y
y(0)
1
0 x 1
的数值解。

数值分析思考题9

数值分析思考题9

数值分析思考题91、 一个算法局部误差和整体误差的区别是什么?如何定义常微分方程数值方法的阶?称 ()n n n e y x y =-为某方法在点n x 的整体截断误差,设n y 是准确的,用某种方法计算n y 时产生的截断误差,称为该方法的局部截断误差。

可以知道,整体误差来自于前面误差积累,而局部误差只来自于n y 的误差。

如果给定方法的局部截断误差为11()p n T O h ++=,其中p 为自然数,则称该方法是p 阶的或具有p 阶精度。

2、 显式方法和隐式方法的优缺点分别是什么?多步法中为什么还要使用单步法? 显式方法优点:方法简单快速。

缺点:精度低。

隐式方法优点:稳定性好。

缺点:精度低,计算量大。

多步法需要多个初值来启动迭代,而初值的计算需要用到单步法。

3、 刚性问题的求解困难主要体现在哪儿?计算刚性问题的最简单的稳定方法是什么?了保证数值稳定性,步长h 需要足够小,但是为了反映解的完整性,x 区间又需要足够长,计算速度变慢。

最简单的稳定方法就是扩大绝对稳定域。

4、分别用欧拉向前法、欧拉向后法、改进的欧拉法、经典的四阶Runge-Kutta 法、四阶Adams 方法计算下列微分方程初值问题的解。

(1)3,12(1)0.4dy y x x dx xy ⎧=-≤≤⎪⎨⎪=⎩; (2)'109,'1011,y y z z y z =-+⎧⎨=-⎩满足(1)1,(1)1,y z =⎧⎨=⎩,12x ≤≤。

解:(1)取步长为0.1,向前Euler 公式:3101=0.11.(,)()n n n n n nn y y hf x y x y x +=++-向后Euler 公式:41111110101.(,).n n n n n n n n x y x y y hf x y x +++++++=+=+改进的Euler 公式:()11333113211(,),(,)20.10.12n n n n n n n n n n nn n n n n n hy y f x y f x y h f x y y x y y x x x x x ++++++=+++⎡⎤⎣⎦⎡⎤+=+-+-⎢⎥+⎣⎦经典的四阶Runge-Kutta 法:11234226()n n hy y k k k k +=++++ 1(,)n n k f x y = 2122(,)n n h h k f x y k =++ 3222(,)n n h h k f x y k =++ 43(,)n n k f x h y hk =++四阶显示Adams 方法:01112233555937924()[(,)(,)(,)(,)]n n n n n n n n n n hy y f x y f x y f x y f x y +------=+-+- 01111122919524()[(,)(,)(,)(,)]n n n n n n n n n n h y y f x y f x y f x y f x y +++----=++-+(2)二元微分方程组,经典的四阶Runge-Kutta 法公式为:11234226()n n hy y k k k k +=++++ 11234226()n n hz z L L L L +=++++ 1(,,)n n n k f x y z =211222(,,)n n n h h h k f x y k z L =+++322222(,,)n n n h h h k f x y k z L =+++ 433(,,)n n n k f x h y hk z hL =+++1(,,)n n n L g x y z =211222(,,)n n n h h h L g x y k z L =+++ 322222(,,)n n n h h hL g x y k z L =+++ 433(,,)n n n L g x h y hk z hL =+++改进的欧拉即为特殊的二阶龙格-库塔,公式在此不累述,注意系数。

常微分方程初值问题的预估-校正解法[文献综述]

常微分方程初值问题的预估-校正解法[文献综述]

毕业论文文献综述信息与计算科学常微分方程初值问题的预估-校正解法一、前言部分在生产实际和其他数学分支中,都会不断地遇到常微分方程,而在这些方程中,仅有很少的一部分能通过初等积分法给出通解或通积分,大多数积分必须数值计算。

所以,一开始就使用数值方法求解通常更有效]1[。

解常微分方程初值问题的数值方法通常可以分为两类]2[:(1)单步法,例如Euler方法和 Runge-Kutta方法;(2)多步法,例如线性多步法。

我们将同阶的显式公式与隐式公式相比,前者使用方便,计算量较小;而后者一般需用迭代法求解,计算量大,但其局部截断误差较小,稳定性较好。

两种方法各有长处和不足。

因此,常常将它们配合起来使用,以发挥它们的优点,弥补各自的不足]3[。

这样将显式公式和隐式公式联合使用,前者提供预测值,而后者将预测值加以校正,使数值解更精确。

由此形成的算法通常被称作预估-校正算法(简称为PC算法)原则上任一显式多步法和隐式多步法都可以搭配成预估校正算法及各种计算方案,但不是任一种方案都是可用的。

一个好的计算方案应该计算稳定,具有所需的精度,并且节约计算量]4[。

几种常见的预估-校正算法]5[:(1)Adams四阶预估-校正算法;(2)Milne方法(3)Hamming算法。

本文综述常微分初值问题的数值解法及其误差估计(相容性、稳定性和收敛性分析),重点介绍了预估-校正算法。

二、主题部分2.1 常微分方程的起源和发展]6[许多有关微分方程的教材都会提到发现海王星的故事。

海王星的发现是人类智慧的结晶,也是常微分方程巨大作用的体现,体现了数学演绎法的强大威力。

1781年发现天王星后,人们注意到它所在的位置总是和万有引力定律计算出来的结果不符。

于是有人怀疑万有引力定律的正确性;但也有人认为,这可能是受另外一颗尚未发现的行星吸引所致。

当时虽有不少人相信后一种假设,但缺乏去寻找这颗未知行星的办法和勇气。

23岁的英国剑桥大学的学生亚当斯承担了这项任务,他利用引力定律和对天王星的观测资料建立起微分方程,来求解和推算这颗未知行星的轨道。

Adams预测-校正系统

Adams预测-校正系统

2012-2013(1)专业课程实践论文Adams 预测-校正系统高强强,0818180212,R数学08-2班王岳,0818180108,R数学08-1班一、算法理论显示格式和隐式格式都具有四阶精度,两种格式可匹配成下列Adams 预测-校正系统:Adams 预测 - 校正预测 ()3-2-1-n 19-3759f -5524n n n n n f f f h y y ++=+, ()111,+++=n n n y x f f ;校正 ()2-1-115-19924n n n n n n f f f f h y y +++=++ ; ()111,+++=n n n y x f f .Adams 内插外插公式联合使用称作 Adams 预测 - 校正系统,用外插公式计算预测,用内插公式进行校正。

计算时需要注意以下两点:1 、外插公式为显式,内插公式为隐式。

故用内插公式计算需要进行迭代。

2 、这种预测 - 校正法是四步法,计算1+n y 时,不但用到前一步的信息n x ,n y ,而且要用到更前三步的信息 1-n f ,2-n f ,3-n f ,因此它不是自开始的,实际计算时必须借助于某种单步法,用Runge-Kutta 格式为它提供开始值 1y ,2y ,3y 。

依据局部截断误差公式得()()()n n n x y h y x y 5511720251-≈++, ()()()n n n x y h y x y 551172019-≈++. 进一步将Adams 预测-校正系统加工成下列方案:预测 ()3-2-1-19-3759-5524n n n n n n f f f f h y p ++=+, 改进 ()n n n n p c p m -72025111+=++, 计算 ()111,+++=n n n m x f m ,校正 ()2-1-115-19924n n n n n n f f f m h y c ++'+=++, 改进 ()1111-72019-++++=n n n n p c c y , 计算 ()111,+++='n n ny x f y ; 运用上述方案计算1+n y 时,要用到先一步的信息n y ,ny ',n n c p -和更前一步的信息1-n y ,因此在计算机之前必须给出初值1y 和11-c p ,1y 可用其他单步法来计算,11-c p 则一般令它等于零。

14.09级Ch8.5.2Adams方法和一般线性多步法

14.09级Ch8.5.2Adams方法和一般线性多步法

(
xk
1
,
y(xk1)) 4 f (xk ,
y(xk ))
f ( xk1,
y( xk 1 ))]
1 90
h5
y(5)
(
k
)
用 yk1, yk1 近似 y( xk1), y( xk1) ,得Simpson方法
yk 1

yk 1

h( 3
fk1

4
fk

fk 1 )
局部截断误差为
注(2)预估-校正-改进方法 同预估-校正-改进Adams方法一样,利用两个同阶的显式方 法和隐式方法,即四阶Milne方法(显式)和四阶Hamming方法 (隐式)可以合成以下预估-校正-改进方法.
则(5.12)确定的线性多步法至少为2l-1阶的.隐式类似. 但是线性 多步法与单步法有很大的不同,并不是所有的线性多步法都可以
应用.这是因为由(5.16)得到的方程组的解的情况不定.另外,常 用四步四阶Adams显式公式、三步四阶Adams隐式公式、 Milne(米 尔尼)公式、四阶Hamming(哈明)公式也可由Taylor展开得到.
解得 0 4,1 5, 0 4, 1 2,

C4

1 (1 4!
1

4
1)

1 (1 24

5

4
2)

1 6

0
因此得阶数最高的二步显式线性多步法为
yk1 4 yk 5 yk1 h(4 fk 2 fk 1 )
(5.17)
其主局部截断误差为
y( xk1) yk1
l 1
l 1
y( xk1 ) i y( xki ) h i f ( xki , y( xki ))

姓名_学号_中国海洋大学偏微分方程的数值解法第四次作业

姓名_学号_中国海洋大学偏微分方程的数值解法第四次作业

偏微分方程的数值解法上机习题四题目:一、 PMECME 算法1) 用四步四阶Adams 方法预估(课本P14,k=3),用三步四阶隐式Adams 方法校正(课本P16,k=3),编写PMECME 算法。

2) 用四步四阶Adams 方法预估(课本P14,k=3),用三步四阶Milne 方法校正(课本P17,(1.2.31)),编写PMECME 算法。

二、 变步计算1) 用误差的后验估计式及三级、四级R-K 方法实现自动选择步长。

计算模型为:()12401u tu u ⎧⎪'=⎨⎪=⎩,(P37,例4.1 ),精确解为()()221u t t =+求解:一、 PMECME 算法1) 用四步四阶Adams 方法预估,用三步四阶隐式Adams 方法校正i. P : ()1123555937924pn n n n n n hu u f f f f +---=+-+- ii.∵四步四阶Adams 方法的截断误差()()()()()556112511720p n n n u t u h u t O h ++-=+———————————— 三步四阶隐式Adams 方法的截断误差()()()()()55611192720c n n n u t u h u t O h ++-=-+————————————— ∴()()12- 得,()()()55611270720c pn n n u u h u t O h ++-=+ 两边同乘以251720,则有()()()()()556112512513270720c pn n n u u h u t O h ++-=+——两边同乘以19-720,则有()()()()()5561119194270270p cn n n u u h u t O h ++-=-+—— 将()3代入()1得,M1:()11251=+720m pc p n n n n u u u u ++- iii. E1:()111,m mn n n f f t u +++=iv. C : ()1112919524cm n n n n n n hu u f f f f ++--=++-+ v. 将()4代入()2得,M2:()111119=+720c p cn n n n u u u u ++++- vi.E2:()111,n n n f f t u +++=vii. 编程并作图,将计算解与精确解比较。

Adams预测-校正系统

Adams预测-校正系统

2012-2013(1)专业课程实践论文Adams 预测-校正系统高强强,0818180212,R数学08-2班王岳,0818180108,R数学08-1班一、算法理论显示格式和隐式格式都具有四阶精度,两种格式可匹配成下列Adams 预测-校正系统:Adams 预测 - 校正预测 ()3-2-1-n 19-3759f -5524n n n n n f f f h y y ++=+, ()111,+++=n n n y x f f ;校正 ()2-1-115-19924n n n n n n f f f f h y y +++=++ ; ()111,+++=n n n y x f f .Adams 内插外插公式联合使用称作 Adams 预测 - 校正系统,用外插公式计算预测,用内插公式进行校正。

计算时需要注意以下两点:1 、外插公式为显式,内插公式为隐式。

故用内插公式计算需要进行迭代。

2 、这种预测 - 校正法是四步法,计算1+n y 时,不但用到前一步的信息n x ,n y ,而且要用到更前三步的信息 1-n f ,2-n f ,3-n f ,因此它不是自开始的,实际计算时必须借助于某种单步法,用Runge-Kutta 格式为它提供开始值 1y ,2y ,3y 。

依据局部截断误差公式得()()()n n n x y h y x y 5511720251-≈++, ()()()n n n x y h y x y 551172019-≈++. 进一步将Adams 预测-校正系统加工成下列方案:预测 ()3-2-1-19-3759-5524n n n n n n f f f f h y p ++=+, 改进 ()n n n n p c p m -72025111+=++, 计算 ()111,+++=n n n m x f m ,校正 ()2-1-115-19924n n n n n n f f f m h y c ++'+=++, 改进 ()1111-72019-++++=n n n n p c c y , 计算 ()111,+++='n n ny x f y ; 运用上述方案计算1+n y 时,要用到先一步的信息n y ,ny ',n n c p -和更前一步的信息1-n y ,因此在计算机之前必须给出初值1y 和11-c p ,1y 可用其他单步法来计算,11-c p 则一般令它等于零。

四阶Adama显式和隐式方法数值分析实验报告

四阶Adama显式和隐式方法数值分析实验报告
三、主要程序代码或命令:
四阶显式Adams
1.建立m文件,构建函数Adams4
functiony=Adams4(f,h,a,b,y0,var)
formatlong;
N=(b-a)/h;
y=zeros(N+1,1);
y(1)=y0;
x=a:h:b;
y(2)=1.00483750000000;
y(3)=1.01873090140625;
>> m=Adams(z,0.1,0,1,1,[u v])
2 再画出方程准确解的图像,ห้องสมุดไป่ตู้序语句如下
在命令窗口输入
hold on
x=0:0.1:1;
y=zeros(11,1);
for i=1:11
y(i)=exp(-x(i))+x(i);
end
plot(x,y,'*b')
3 计算误差
在命令窗口输入
m-y
将误差(精确解与数值解的差)列表, 并画出精确解与数值解的函数图象.
二、程序设计的基本思想,原理和算法描述:
1、这里四阶显示Adams方法以及三步隐式Adams方法的初始3个、4个y的值,可用经典的Rouge-Kutta方法得到(这里直接引用上一实验的结果)。
2、主要利用相应公式建立Adams方法的Adams4函数。
四阶隐式方法
functiony=Adams42(f,h,a,b,y0,var)
formatlong;
N=(b-a)/h;
y=zeros(N+1,1);
y(1)=y0;
g(1)=y0;
x=a:h:b;
y(2)=1.00483750000000;

应用数值分析(第四版)课后习题答案第10章

应用数值分析(第四版)课后习题答案第10章

第十章习题解答1、 用Euler 方法及改进的Euler 方法求解初值问题'[0,1](0)2y x y x y ⎧=-∈⎨=⎩ 取0.1h =,并将计算结果与精确值相比较。

解:(,)f x y x y =-,由Euler 公式及改进的Euler 方法,代入0.1h =,有11Euler 0.90.1Euler 0.9050.0950.005n n nn n n y y x y y x ++=+=++方法改进的方法,依次计算结果如下01234567891000.10.20.30.40.50.60.70.80.9 1.02 1.8000 1.6300 1.4870 1.3683 1.2715 1.1944 1.1350 1.0915 1.0623 1.04612 1.8150 1.6571 1.5237 1.4124 1.3212 1.2482 1.1916 1.1499 1.12n n n n x y y ====17 1.1056 2 1.8145 1.6562 1.5225 1.4110 1.3196 1.2464 1.1898 1.1480 1.1197 1.1036y n y 为Euler 方法的结果,n y 为改进的Euler 方法的结果,y 为精确解。

2、 用梯形公式求解初值问题'0(0)1y y x y ⎧=-≥⎨=⎩证明其近似解为()nn a h y a h-=+。

证明:采用梯形公式得近似解为112(1)(1),222n n n n h h hy y y y h++-+=-=+,因此可得21202222()()()2222n nn n n h h h h y y y y h hh h------=====++++。

证毕。

3、试用Euler 公式计算积分2xt edt ⎰在点x=0.5, 1, 1.5, 2的近似值。

解:2(,)2xf x y xe =由Euler 公式得212*0.5nx n n n y y x e +=+,计算可得0123400.51 1.5200.6420 2.0011 6.745034.0441n n n x y === 4、 定初值问题'000sin ()y y x x y x y ⎧=≥⎪⎨=⎪⎩试用Taylor 展开法导出一个三阶的显式公式。

常微分方程数值解法

常微分方程数值解法

第八章 常微分方程数值解法教学目的 1. 掌握解常微分方程的单步法:Euler 方法、Taylor 方法和Runge-Kutta 方法;2. 掌握解常微分方程的多步法:Adams 步法、Simpson 方法和Milne 方法等;3. 了解单步法的收敛性、相容性与稳定性;多步法的稳定性。

教学重点及难点 重点是解常微分方程的单步法:Euler 方法、Taylor 方法和Runge-Kutta 方法和解常微分方程的多步法:Adams 步法、Simpson 方法和Milne 方法等;难点是理解单步法的收敛性、相容性与稳定性及多步法的稳定性。

教学时数 20学时 教学过程§1基本概念1.1常微分方程初值问题的一般提法常微分方程初值问题的一般提法是求函数b x a x y ≤≤),(,满足⎪⎩⎪⎨⎧=<<=)2.1()()1.1(),,(αa yb x a y x f dx dy其中),(y x f 是已知函数,α是已知值。

假设),(y x f 在区域},),{(+∞<≤≤=y b x a y x D 上满足条件: (1)),(y x f 在D 上连续; (2)),(y x f 在D 上关于变量y 满足Lipschitz 条件:2121),(),(y y L y x f y x f -≤-,21,,y y b x a ∀≤≤ (1.3)其中常数L 称为Lipschitz 常数。

我们简称条件(1)、(2)的基本条件。

由常微分方程的基本理论,我们有:定理1 当),(y x f 在D 上满足基本条件时,一阶常微分方程初值问题(1.1)、(1.2)对任意给定α存在唯一解)(x y 在],[b a 上连续可微。

定义1 方程(1.1)、(1.2)的解)(x y 称为适定的,若存在常数0>ε和0>K ,对任意满足条件εδ≤及εη≤∞)(x 的δ和)(x η,常微分方程初值问题⎪⎩⎪⎨⎧+=<<+=δηa a z b x a x z x f dx dz)(),(),((1.4)存在唯一解)(x z ,且}.{)()(δη+≤-∞∞K x z x y适定问题的解)(x y 连续依赖于(1.1)右端的),(y x f 和初值α。

常微分方程数值解法及应用

常微分方程数值解法及应用

常微分方程数值解法及其应用——浙江师范大学 数理信息工程学院【摘要】:本文对常微分方程初值问题现有的数值解法进行了综述研究。

主要讨论了几种常用的数值解法:即欧拉法,改进欧拉法,龙格库塔方法,阿达姆斯外插公式与内插公式等。

文章最后结合常见数值解法,对较为典型的微分方程模型进行数值求解,探讨了上述数值算法在实际建模问题中的应用。

【关键词】:常微分方程;数值解法;模型引言在工程技术问题中,经常需要求解常微分方程的初值问题()()00,dyf x y dxy x y ⎧=⎪⎨⎪=⎩(1) 而关于常微分方程各种各样的解析方法,只能求解一些特殊类型的方程。

在大 多数情况下,对初值问题(1),只能用数值法求解。

数值解法的基本思想是求初值问题(1)的解()y x 在一系列等距节点:0123n x x x x x <<<<<处的近似值:0123,,,,,n y y y y y 。

其中相邻两个节点间的距离1i i h x x +=-称为步长,即节点0 (0,1,2,)k x x kh k n =+= 。

一、单步法单步法是指这类方法在计算1n y +时,只用到前一步的值1,,n n n x x y +,然后逐步往下计算。

这个算法的代表是龙格——库塔算法,简称R-K 方法。

四阶显示Runge —Kutta 方法是求解普通常微分方程初值问题数值解法中的重要方法,而隐式Runge —Kutta 公式是求解刚性常微分方程初值问题的重要方法。

(一)Euler 方法由微分由微分方程的基本概念可知,初值问题(1)的解是在xoy 平面上的一条过点()00,x y 的积分曲线()y y x =,在该曲线上任一点(),x y 处的切线斜率等于函数(),f x y 的值。

按照按照数值解法的基本思想,取等距节点0 (0,1,2,)k x x kh k n =+= ,在点()00,x y 处,以()00,f x y 为斜率作直线()()0000,y y f x y x x =+-,与直线1x x =交于点()11,x y 。

adams预测校正公式

adams预测校正公式

adams预测校正公式
Adams预测-校正公式是用于求解常微分方程的一种数值方法。

该公式包含预估和校正两个步骤。

预估步骤的公式为:
yˉi+1=yi+h24(55fi−59fi−1+37fi−2−9fi−3)y_{i+1} = y_i +
\frac{h}{24}(55f_i - 59f_{i-1} + 37f_{i-2} - 9f_{i-3})yi+1=yi+24h(55fi
−59fi−1+37fi−2−9fi−3)
其中,h是步长,f(x, y)是微分方程 dy/dx=f(x,y)dxdy=f(x,y) 的函数形式。

校正步骤的公式为:
yi+1=h24(9f(xi+1,yi+1)+19fi−5fi−1+fi−2)y_{i+1} =
\frac{h}{24}(9f(x_{i+1}, y_{i+1}) + 19f_i - 5f_{i-1} + f_{i-2})yi+1=24h (9f(xi+1,yi+1)+19fi−5fi−1+fi−2)
需要注意的是,预估式中出现了 f_{i-3}, f_{i-2}, f_{i-1}f_{i-3}, f_{i-2}, f_{i-1}fi−3, fi−2, fi−1,因此在启动Adams预估校正算法之前,需要用其他算
法进行前三个时间步的运算,较为普遍的是采用四阶R-K公式进行启动计算。

以上内容仅供参考,建议查阅数学或编程类书籍或咨询专业人士获取更准确的信息。

四阶Adama显式和隐式方法数值分析实验报告

四阶Adama显式和隐式方法数值分析实验报告
三、主要程序代码或命令:
四阶显式Adams
1.建立m文件,构建函数Adams4
functiony=Adams4(f,h,a,b,y0,var)
formatlong;
N=(b-a)/h;
y=zeros(N+1,1);
y(1)=y0;
x=a:h:b;
y(2)=1.00483750000000;
y(3)=1.01873090140625;
将误差(精确解与数值解的差)列表, 并画出精确解与数值解的函数图象.
二、程序设计的基本思想,原理和算法描述:
1、这里四阶显示Adams方法以及三步隐式Adams方法的初始3个、4个y的值,可用经典的Rouge-Kutta方法得到(这里直接引用上一实验的结果)。
2、主要利用相应公式建立Adams方法的Adams4函数。
y(i+1)=(1/24.9)*(22.1*y(i)+0.5*y(i-1)-0.1*y(i-2)+0.24*i+3);
end
plot(x,y,'--b')
四、调试和运行程序过程中产生的问题及采取的措施:
开始画出的图像,忘记了用不同的颜色区分开来;经修改后,图像客观性增强;
五、运行输出结果及分析:
四阶显式Adams
结果如下图
四阶隐式Adams方法
结果分析:
两种方法相对比,隐式三步四阶法更精确;
y(4)=1.04081842200118;
fori=4:N
y(i+1)=(1/24)*(18.5*y(i)+5.9*y(i-1)-3.7*y(i-2)+0.9*y(i-3)+0.24*i+3.24);

经典Runge-Kutta方法和显式四阶Adams方法

经典Runge-Kutta方法和显式四阶Adams方法

微分方程数值解实验报告e1=%f",e0,e1);}注意:若想仅使用经典Runge-Kutta算法可修改为for(i=1;i<=n;i++)y[i]=RungeKutta(y[i-1]); //仅用这些就可以了四、调试和运行程序过程中产生的问题及采取的措施:1、编译时出错,若想在主函数和被调用函数都使用一些变量,必须把这些变量设为全局变量。

2、编译时,没有注意数据类型转换,如float h;h=1/n;是错误的,因为n是整形的,当n 值大于1时,h老为零。

应进行模式转换,h=1/float(n);这样才是正确的。

3、对浮点数求绝对值时,应使用fabs()函数,而不是abs()。

五、运行输出结果及分析:上述程序在Visual C++ 6.0环境下加以实现。

经过多次测试,程序运行正确。

例如:分别输入n值和m值:16 ,-2,运行结果如图所示,图中显示了每一步的值及端点误差。

由上图可知:1.在右端x=1点处的截断误差E(h)=|yn - y(1)|,经典Runge-Kutta算法误差为0.000001,显式四阶Adams算法为0.000023。

由此可得,在误差精度上经典Runge-Kutta算法要比显式四阶Adams算法好。

2.由变换公式知,经典Runge-Kutta算法误差整体截断误差为O(h4),局部截断误差为O(h5),显式四阶Adams算法局部截断误差也为O(h5)。

对于去掉显式四阶Adams 算法的单纯的经典Runge-Kutta 算法,输入等分数n 和参数值m :16,-100,可有以下图示:分析:经典Runge-Kutta 方法:!44!33!21)(2h h h h h E ++++= 它的绝对稳定区间为(-2.785,0),必须取足够小的步长,使h λ落在绝对稳定区域内,数值解才具有数值稳定性,而从上可知,h=1/16,λ=-100,可知h λ=-6.25,不在稳定区间(-2.785,0),故是不稳定的。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

山东师范大学数学科学学院实验报告
实验课程:数值分析引论实验项目:显式Adams方法、隐式Adams方法、预估–校正四阶Adams方法、预估–校正–改进四阶Adams方法
姓名:XXX 学号:2015080401XX 班级:XXX班专业:数学与应用数学
指导教师:XXX 完成日期:2018/12/14
实验目的
1、用显式Adams方法、隐式Adams方法、预估–校正四阶Adams方法、预估–校正–改进四阶Adams方法解初值问题的matlab实现
2、用显式Adams方法、隐式Adams方法、预估–校正四阶Adams方法、预估–校正–改进四阶Adams方法解初值问题。

实验内容:
显式Adams方法
问题分析和算法设计
隐式Adams方法
问题分析和算法设计
预估–校正四阶Adams方法
问题分析和算法设计
预估–校正–改进四阶Adams方法问题分析和算法设计
主要程序代码
Adams..m
%四阶Adams显式
a=k(1);
b=k(2);
xk=a:h:b;
yk=zeros(size(xk));
yk(1)=y0;
f=@(x,y)1./x.^2-y./x-y.^2;
N=size(xk,2);
%Runge_Kutta方法算前4个初始值
for i=2:4
%求k1-k4
x=xk(i-1);y=yk(i-1);
k1=f(x,y);
k2=f(x+h/2,y+h/2*k1);
k3=f(x+h/2,y+h/2*k2);
k4=f(x+h,y+h*k3);
yk(i)=y+h/6*(k1+2*k2+2*k3+k4);
end
for i=5:N
yk(i)=yk(i-1)+h/24*(55*f(xk(i-1),yk(i-1))-59*f(xk(i-2),yk(i-2))+37*f(xk(i-3),yk(i-3))-9*f(xk(i-4),yk(i-4))); end
ff=@(x)-1./x;
ffx=ff(xk);
errors=abs(ffx(5:end)-yk(5:end));
Y_Adams.m
%四阶Adams隐式
a=k(1);
b=k(2);
xk=a:h:b;
yk=zeros(size(xk));
yk(1)=y0;
f=@(x,y)1./x.^2-y./x-y.^2;
N=size(xk,2);
>> Y_Adams
>> tab=[tab yk(5:end)' errors'];
>> Y_G_Adams
>> tab=[tab yk(5:end)' errors'];
>> Y_J_G_Adams
>> tab=[tab yk(5:end)' errors'];
>>plot(xk(5:end)',ffx(5:end)')
>> hold on
>> plot(tab(:,1),tab(:,2))
>> plot(tab(:,1),tab(:,4))
>> plot(tab(:,1),tab(:,6))
>> plot(tab(:,1),tab(:,8))
>> legend('原图','显式Adams','隐式Adams','预估-校正Adams','预估-校正-改进Adams')
图像如图1
图1
计算结果如表1
表1
总结
(1)隐式Adams方法最精确、预估–校正四阶Adams方法与预估–校正–改进四阶Adams方法运算较快。

x k
Adams方法隐式Adams
预估–校正四阶
Adams
预估–校正–改进四
阶Adams y k误差y k误差y k误差y k误差1.4 -0.71443 1.48E-04 -0.71429 1.38E-06 -0.71429 5.04E-06 -0.7143 1.51E-05 1.5 -0.66693 2.65E-04 -0.66667 3.55E-06 -0.66668 9.65E-06 -0.66669 2.70E-05 1.6 -0.62534 3.38E-04 -0.625 4.99E-06 -0.62501 1.28E-05 -0.62504 3.52E-05 1.7 -0.58863 3.98E-04 -0.58824 6.05E-06 -0.58825 1.51E-05 -0.58828 4.15E-05 1.8 -0.55601 4.50E-04 -0.55556 6.89E-06 -0.55557 1.70E-05 -0.5556 4.68E-05
1.9 -0.52681 4.93E-04 -0.52632 7.58E-06 -0.52633 1.85E-05 -0.52637 5.12E-05
2 -0.5005
3 5.32E-0
4 -0.50001 8.19E-06 -0.50002 1.99E-0
5 -0.5000
6 5.52E-05。

相关文档
最新文档