龙格库塔方法的Miline-Hamming预测-校正算法实验报告
- 格式:docx
- 大小:178.48 KB
- 文档页数:8
三、四阶Runge-Kutta 法求解常微分方程一、龙格库塔法的思想根据第九章的知识可知道,Euler 方法的局部截断误差是2()O h ,而当用Euler 方法估计出1,()(1)n n n n y y hf x y +=+ 再用梯形公式111[(,)(,)](2)2n n n n n n h y y f x y f x y +++=++进行校正,即采用改进Euler 方法得出数值解的截断误差为3()O h 。
由Lagrange 微分中值定理'11()()()()()(,())(3)n n n n n y x y x y x x y x hf y ξξξ++=+-=+ 记*(,())k hf y ξξ=,得到*1()()(4)n n y x y x k +=+这样只要给出一种计算*k 的算法,就能得到相应的计算公式。
用这种观点的来分析Euler 方法和改进Euler 方法,Euler 方法的迭代公式可改写为111(,)n n n n y y k k hf x y +=+=改进Euler 方法的预报-校正公式可改写为 1121211()2(,),(,)n n n n n n y y k k k hf x y k hf x h y k +=++==++ Euler 方法实际上是用一个点处的值1k 近似*k ,而改进Euler 方法是用两个点处的值1k ,和2k ,做算术平均值近似*k 自然改进Euler 方法要优于Euler 方法。
因此,可以想到假如在1[,]n n x x +内多预报几个点值i k ,并用他们的加权平均值作为*k 的近似值,则有可能构造出具有更高精度的计算公式,这就是Runge-Kutta 法的基本思想。
二、四阶龙格库塔法由Runge-Kutta 的基本思想,构造四阶Runge-Kutta 法是利用1234,,k k k k 和的加权平均值来近似*k ,因此令1112233441211132211243312213(,)(,)(5)(,)(,)n n n n n n n n n n y y w K w K w K w K K hf x y K hf x h y K K hf x h y K K K hf x h y K K K αβαβγαβγη+=++++⎧⎪=⎪⎪=++⎨⎪=+++⎪⎪=++++⎩使得511()()n n y x y O h ++-=即其总体截断误差为4()O h 。
龙格库塔方法的M i l i n e-H a m m i n g预测-校正算法实验报告2011-2012学年第2学期实验报告实验名称:微分方程数值解实验学院:******专业:**************班级:**********班内序号:**学号:********姓名:******任课教师:******北京邮电大学时间:****年**月**日实验目标用多环节Miline-Hamming 预测-校正算法求下列方程的解{y‘=y −2xy ,y (0)=1, 0≤x ≤4 其中解析解为 y (x )=√1+2x实验原理计算龙格库塔显示公式计算预测值,然后用隐式公式进行校正。
Miline-Hamming 预测-校正公式为{p n+1=u n−3+43h(2f n −f n−1+f n−2)m n+1=p n+1+112121(c n−p n )c n+1=18(9u n −u n−2)+38h[f (t n+1,m n+1)+2f n −f n−1]u n+1=c n+1−9(c n+1−p n+1)其对应的算法流程为1) 输入a ,b ,f(t,u),N ,u 0 2) 置h=(b-a)/N ,t 0=a ,n=1 3) 计算f n-1=f(t n-1,u n-1)K 1=hf n-1K 2=hf(t n-1+h/2, u n-1+K 1/2) K 3=hf(t n-1+h/2, u n-1+K 2/2) K 4=hf(t n-1+h, u n-1+K 3)u n = u n-1+1/6(K 1 +2K 2 +2K 3 +K 4) t n =a+nh4) 输出(t n ,u n )5) 若n<3,置n+1→n ,返回3;否则,置n+1→n ,0→p 0,0→c 0,转6.6) 计算f 3=f(t 3,u 3) t= t 3+hp=u 0+4/3(2 f 3 –f 2 +2f 1) m=p+112/121(c 0-p 0)c=1/8(9u 3- u 1)+3/8h[f(t,m)+ 2 f 3 –f 2] u=c-9/121(c-p)输出(t,u)7)如n<N,则置n+1→n,t j+1→ t j,u j+1→u j,f j+1→f j(j=0,1,2),t= t3,u= u3,p= p0,c= c0,转6否则停止。
hamming实验报告Hamming实验报告引言:Hamming实验是一项重要的计算机科学实验,旨在研究和验证Hamming码的纠错能力。
Hamming码是一种用于纠正单一比特错误的错误检测和纠正编码方式,被广泛应用于数据传输和存储中。
本实验将通过模拟数据传输过程,并使用Hamming码进行纠错,来验证其在实际应用中的有效性。
实验目的:本实验的目的是通过模拟数据传输过程,验证Hamming码的纠错能力。
具体而言,我们将通过引入人为制造的错误,检测和纠正这些错误,以验证Hamming码的可靠性和有效性。
实验步骤:1. 设计Hamming码生成矩阵和校验矩阵。
2. 生成待发送的数据,并使用Hamming码进行编码。
3. 引入人为制造的错误,模拟数据传输过程中的错误。
4. 使用Hamming码进行错误检测和纠正。
5. 比较纠错前后的数据,验证Hamming码的纠错能力。
实验结果:在本次实验中,我们成功设计并实现了Hamming码的纠错过程。
通过引入人为制造的错误,我们模拟了数据传输过程中的错误情况。
使用Hamming码进行错误检测和纠正后,我们成功恢复了原始数据,并验证了Hamming码的纠错能力。
讨论:Hamming码作为一种常用的纠错编码方式,具有较高的纠错能力和可靠性。
通过本次实验,我们进一步验证了Hamming码的有效性。
然而,Hamming码并不能纠正所有错误,它只能纠正单一比特错误。
对于多比特错误或连续错误,Hamming码的纠错能力将受到限制。
因此,在实际应用中,我们需要综合考虑数据传输的可靠性需求,并选择适当的纠错编码方式。
结论:通过本次实验,我们验证了Hamming码的纠错能力。
Hamming码作为一种常用的纠错编码方式,在数据传输和存储中具有重要的应用价值。
然而,我们也需要认识到Hamming码的局限性,它只能纠正单一比特错误。
在实际应用中,我们需要根据具体需求选择适当的纠错编码方式,以确保数据的可靠性和完整性。
三、四阶Runge-Kutta 法求解常微分方程一、龙格库塔法的思想根据第九章的知识可知道,Euler 方法的局部截断误差是2()O h ,而当用Euler 方法估计出1,()(1)n n n n y y hf x y +=+ 再用梯形公式111[(,)(,)](2)2n n n n n n h y y f x y f x y +++=++进行校正,即采用改进Euler 方法得出数值解的截断误差为3()O h 。
由Lagrange 微分中值定理'11()()()()()(,())(3)n n n n n y x y x y x x y x hf y ξξξ++=+-=+ 记*(,())k hf y ξξ=,得到*1()()(4)n n y x y x k +=+这样只要给出一种计算*k 的算法,就能得到相应的计算公式。
用这种观点的来分析Euler 方法和改进Euler 方法,Euler 方法的迭代公式可改写为111(,)n n n n y y k k hf x y +=+=改进Euler 方法的预报-校正公式可改写为 1121211()2(,),(,)n n n n n n y y k k k hf x y k hf x h y k +=++==++ Euler 方法实际上是用一个点处的值1k 近似*k ,而改进Euler 方法是用两个点处的值1k ,和2k ,做算术平均值近似*k 自然改进Euler 方法要优于Euler 方法。
因此,可以想到假如在1[,]n n x x +内多预报几个点值i k ,并用他们的加权平均值作为*k 的近似值,则有可能构造出具有更高精度的计算公式,这就是Runge-Kutta 法的基本思想。
二、四阶龙格库塔法由Runge-Kutta 的基本思想,构造四阶Runge-Kutta 法是利用1234,,k k k k 和的加权平均值来近似*k ,因此令1112233441211132211243312213(,)(,)(5)(,)(,)n n n n n n n n n n y y w K w K w K w K K hf x y K hf x h y K K hf x h y K K K hf x h y K K K αβαβγαβγη+=++++⎧⎪=⎪⎪=++⎨⎪=+++⎪⎪=++++⎩使得511()()n n y x y O h ++-=即其总体截断误差为4()O h 。
一、实验背景常微分方程(ODE)在自然科学、工程技术等领域中具有广泛的应用。
然而,许多微分方程无法得到精确解析解,因此需要借助数值方法进行求解。
龙格-库塔(Runge-Kutta)方法是一种常用的数值求解常微分方程的方法,具有精度高、稳定性好等优点。
本实验旨在通过编写程序,实现四阶龙格-库塔方法,并验证其在求解常微分方程中的有效性和准确性。
二、实验目的1. 理解四阶龙格-库塔方法的基本原理和计算步骤。
2. 编写程序实现四阶龙格-库塔方法。
3. 选取典型常微分方程,验证四阶龙格-库塔方法的求解精度和稳定性。
三、实验原理四阶龙格-库塔方法是一种基于泰勒级数展开的数值方法,其基本思想是将微分方程的解在某个区间内进行近似,并通过迭代计算得到近似解。
具体步骤如下:1. 初始化:给定初始条件y0,步长h,求解区间[a, b]。
2. 迭代计算:对于k=1, 2, ..., n(n为迭代次数),- 计算k1 = f(xk-1, yk-1)(f为微分方程的右端函数);- 计算k2 = f(xk-1 + h/2, yk-1 + h/2 k1);- 计算k3 = f(xk-1 + h/2, yk-1 + h/2 k2);- 计算k4 = f(xk-1 + h, yk-1 + h k3);- 更新y值:yk = yk-1 + (h/6) (k1 + 2k2 + 2k3 + k4);- 更新x值:xk = xk-1 + h;3. 输出结果:输出最终的近似解y(n)。
四、实验步骤1. 编写程序实现四阶龙格-库塔方法。
2. 选取典型常微分方程,如:- y' = -y,初始条件y(0) = 1,求解区间[0, 2π];- y' = y^2,初始条件y(0) = 1,求解区间[0, 1]。
3. 对每个常微分方程,设置不同的步长h和迭代次数n,分别计算近似解y(n)。
4. 将计算得到的近似解与解析解进行比较,分析四阶龙格-库塔方法的精度和稳定性。
龙格-库塔方法3.2 Runge-Kutta法3.2.1 显式Runge-Kutta法的一般形式上节已给出与初值问题(1.2.1)等价的积分形式(3.2.1)只要对右端积分用不同的数值求积公式近似就可得到不同的求解初值问题(1.2.1)的数值方法,若用显式单步法(3.2.2)当,即数值求积用左矩形公式,它就是Euler法(3.1.2),方法只有一阶精度,若取(3.2.3)就是改进Euler法,这时数值求积公式是梯形公式的一种近似,计算时要用二个右端函数f的值,但方法是二阶精度的.若要得到更高阶的公式,则求积分时必须用更多的f值,根据数值积分公式,可将(3.2.1)右端积分表示为注意,右端f中还不能直接得到,需要像改进Euler法(3.1.11)一样,用前面已算得的f值表示为(3.2.3),一般情况可将(3.2.2)的 表示为(3.2.4)其中这里均为待定常数,公式(3.2.2),(3.2.4)称为r级的显式Runge-Kutta法,简称R-K方法.它每步计算r个f值(即),而k由前面(i-1)个已算出的表示,故公式是显式的.例i如当r=2时,公式可表示为(3.2.5) 其中.改进Euler 法(3.1.11)就是一个二级显式R-K 方法.参数取不同的值,可得到不同公式.3.2.2 二、三级显式R-K 方法对r=2的显式R-K 方法(3.2.5),要求选择参数,使公式的精度阶p 尽量高,由局部截断误差定义11122211()()[(,())(,)]n n n n n n n T y x y x h c f x y x c f x a h y b hk ++=--+++ (3.2.6) 令,对(3.2.6)式在处按Taylor 公式展开,由于将上述结果代入(3.2.6)得要使公式(3.2.5)具有的阶p=2,即,必须(3.2.7)即由此三式求的解不唯一.因r=2,由(3.2.5)式可知,于是有解(3.2.8)它表明使(3.2.5)具有二阶的方法很多,只要都可得到二阶精度R-K方法.若取,则,则得改进Euler法(3.1.11),若取,则得,此时(3.2.5)为(3.2.9)其中称为中点公式.改进的Euler法(3.1.11)及中点公式(3.2.9)是两个常用的二级R-K方法,注意二级R-K方法只能达到二阶,而不可能达到三阶.因为r=2只有4个参数,要达到p=3则在(3.2.6)的展开式中要增加3项,即增加三个方程,加上(3.2.7)的三个方程,共计六个方程求4个待定参数,验证得出是无解的.当然r=2,p=2的R-K方法(3.2.5)当取其他数时,也可得到其他公式,但系数较复杂,一般不再给出.对r=3的情形,要计算三个k值,即其中将按二元函数在处按Taylor公式展开,然后代入局部截断误差表达式,可得可得三阶方法,其系数共有8个,所应满足的方程为(3.2.10)这是8个未知数6个方程的方程组,解也是不唯一的,通常.一种常见的三级三阶R-K方法是下面的三级Kutta方法:(3.2.11)附:R-K 的三级Kutta 方法程序如下function y = DELGKT3_kuta(f, h,a,b,y0,varvec) format long; N = (b-a)/h;y = zeros(N+1,1); y(1) = y0; x = a:h:b;var = findsym(f); for i=2:N+1K1 = Funval(f,varvec,[x(i-1) y(i-1)]);K2 = Funval(f,varvec,[x(i-1)+h/2 y(i-1)+K1*h/2]); K3 = Funval(f,varvec,[x(i-1)+h y(i-1)-h*K1+K2*2*h]);y(i) = y(i-1)+h*(K1+4*K2+K3)/6; %满足c1+c2+c3=1,(1/6 4/6 1/6)endformat short; 3.2.3 四阶R-K 方法及步长的自动选择利用二元函数Taylor 展开式可以确定(3.2.4)中r=4,p=4的R-K 方法,其迭代公式为111223344()n n y y h c k c k c k c k +=++++其中1(,)n n k f x y =,2221(,(,))n n n n k f x a h y b hf x y =++,而33311322(,)n n k f x a h y b hk b hk =+++ 44411422433(,)n n k f x a h y b hk b hk b hk =++++共计13个参数待定,Taylor 展开分析局部截断误差,使得精度达到四阶,即误差为5()O h 。
hamming实验报告Hamming实验报告引言:Hamming实验是一种用于错误检测和纠正的编码技术。
它由美国科学家理查德·哈明(Richard Hamming)于20世纪50年代提出,并被广泛应用于计算机科学和通信领域。
本文将介绍Hamming实验的背景、原理、实验过程和结果,并探讨其在现代技术中的应用。
一、背景:在信息传输和存储过程中,出现错误是不可避免的。
特别是在电信和计算机网络中,数据传输的准确性至关重要。
传统的奇偶校验方法只能检测错误,而无法纠正。
为了解决这个问题,Hamming提出了一种能够检测和纠正错误的编码技术。
二、原理:Hamming编码是一种基于二进制的线性块编码。
它通过在数据中插入冗余位来实现错误检测和纠正。
冗余位的数量取决于数据位的数量,并且通过一系列算法计算得出。
Hamming编码的关键思想是将数据位与冗余位进行异或运算,以便在接收端进行错误检测和纠正。
三、实验过程:1. 准备数据:选择一组二进制数据作为实验对象,例如1011。
2. 计算冗余位:根据数据位的数量,计算所需的冗余位数量。
在本例中,需要添加两个冗余位。
3. 插入冗余位:将冗余位插入数据中,形成编码后的数据。
例如,将冗余位插入1011变为1101011。
4. 传输数据:将编码后的数据传输到接收端。
5. 接收数据:接收端接收到编码后的数据。
6. 检测错误:接收端使用Hamming编码的算法检测错误位。
7. 纠正错误:如果检测到错误位,接收端可以使用Hamming编码的算法进行错误纠正。
四、实验结果:在本次实验中,我们选择了1011作为实验数据。
根据Hamming编码的原理,我们计算出了两个冗余位,并将其插入到数据中,形成了1101011的编码数据。
在传输过程中,我们模拟了一个错误位,并将其插入到编码数据中。
接收端成功检测到错误位,并进行了错误纠正。
最终,接收端得到了正确的数据1011。
五、应用:Hamming编码在现代技术中有着广泛的应用。
龙格—库塔法解常微分方程实验报告一、实验题目求解初值问题⎪⎩⎪⎨⎧=<<-=1)0()10(2'y x y x y y二、实验引言1、实验目的进一步理解龙格—库塔方法的设计思路和算法流程,培养动手实践能力和分析能力。
2、实验意义龙格—库塔方法的推导基于泰勒展开方法,因而它要求的解具有较好的光滑性质。
反之,如果解得光滑性差,那么,使用四阶龙格—库塔法方法求得的数值解,其精度可能反而不如梯形方法。
实际计算中,应当针对问题的具体特点选择合适的算法。
三、算法设计1. 基本思想由Lagrange 微分中值定理,11()()'()()()(,())n n n n n y x y x y x x y x hf y ξξξ++=+-=+记*(,())k hf y ξξ=,则得到*1()()n n y x y x k +=+这样,给出*k 的一种算法,就得到求解微分方程初值问题的一种计算公式。
四阶龙格_库塔法是用1k ,2k ,3k 和4k 的加权平均值来近似*k 。
最经典的四阶龙格—库塔公式为:121324311234(,)(,)22(,)22(,)y (22)2n n n n n nn n n n K f x y h h K f x y K h h K f x y K K f x h y hK h y K K K K +=⎧⎪⎪=++⎪⎪⎪=++⎨⎪=++⎪⎪⎪=++++⎪⎩四阶龙格—库塔法的误差估计局部截断误差为5()O h 。
2.算法流程图四、程序设计program longgekutaimplicit nonereal,parameter::b=1real::h=0.2integer::nreal::x,K1,K2,K3,K4,yreal,external::fx=0y=1open (unit=10,file='1.txt')do while(x<=b)K1=f(x,y)K2=f(x+h/2,y+K1*h/2)K3=f(x+h/2,y+K2*h/2)K4=F(x+h,y+K3*h)y=y+(k1+2*K2+2*K3+K4)*h/6 x=x+hwrite(10,*) x,yend doendfunction f(x,y)implicit nonereal::f,x,yf=y-2*x/yend function五、结果及讨论1.实验结果0.2000000 1.183229 0.4000000 1.341667 0.6000000 1.4832810.8000000 1.6125141.000000 1.7321421.200000 1.844040六、算法评价1、本次实验实现了常微分方程初值问题数值解法中的四阶龙格—库塔法2、对欧拉法和龙格—库塔法进行比较:在相同步长的情况下,欧拉法每步只计算一个函数值,四阶龙格—库塔法每步需计算四个函数值,就是说,四阶龙格—库塔法的计算量差不多是欧拉法的四倍,为了比较它们的计算精度,可以将欧拉法的步长取为h,将四阶龙格—库塔法的步长取为4h。
2011-2012学年第2学期实验报告
实验名称:微分方程数值解实验学院:******
专业:**************班级:**********
班内序号:**
学号:********
姓名:******
任课教师:******
北京邮电大学
时间:****年**月**日
实验目标
用多环节Miline-Hamming预测-校正算法求下列方程的解
y‘=y−2x
,
y0=1,
0≤x≤4
其中解析解为 y x=1+2x
实验原理
计算龙格库塔显示公式计算预测值,然后用隐式公式进行校正。
Miline-Hamming预测-校正公式为
p n+1=u n−3+4
h(2f n−f n−1+f n−2)
m n+1=p n+1+112
121
(c n−p n)
c n+1=1
9u n−u n−2+
3
h[f t n+1,m n+1+2f n−f n−1] u n+1=c n+1−
9
(c n+1−p n+1)
其对应的算法流程为
1)输入a,b,f(t,u),N,u0
2)置h=(b-a)/N,t0=a,n=1
3)计算f n-1=f(t n-1,u n-1)
K1=hf n-1
K2=hf(t n-1+h/2, u n-1+K1/2)
K3=hf(t n-1+h/2, u n-1+K2/2)
K4=hf(t n-1+h, u n-1+K3)
u n= u n-1+1/6(K1 +2K2 +2K3 +K4)
t n=a+nh
4)输出(t n ,u n)
5)若n<3,置n+1→n,返回3;
否则,置n+1→n,0→p0,0→c0,转6. 6)计算
f3=f(t3,u3)
t= t3+h
p=u0+4/3(2 f3–f2 +2f1)
m=p+112/121(c0-p0)
c=1/8(9u3- u1)+3/8h[f(t,m)+ 2 f3–f2]
u=c-9/121(c-p)
输出(t,u)
7)如n<N,则置n+1→n,t j+1→ t j,u j+1→u j,f j+1→f j(j=0,1,2),t= t3,u= u3,p= p0,c= c0,转6
否则停止。
实验过程
我们不妨设步长h=0.2,编程实现如下:
clear
clf
clc
%直接求解微分方程
y=dsolve('Dy=y-2*t/y','y(0)=1','t');
%Miline-Hamming预测-校正法
h=0.2;
t=0:h:4;
n=length(t);
u=zeros(1,n);
u(1)=1;
zbu(1,1)=t(1);
zbu(2,1)=u(1);
f=zeros(1,n);
p=zeros(1,n);
c=zeros(1,n);
m=zeros(1,n);
for i=2:n
if i-1<=3
f(i-1)=u(i-1)-2*t(i-1)/u(i-1);
k1=h*f(i-1);
k2=h*((u(i-1)+k1/2)-2*(t(i-1)+h/2)/(u(i-1)+k1/2)); k3=h*((u(i-1)+k2/2)-2*(t(i-1)+h/2)/(u(i-1)+k2/2)); k4=h*((u(i-1)+k3)-2*(t(i-1)+h)/(u(i-1)+k3));
u(i)=u(i-1)+1/6*(k1+2*k2+2*k3+k4);
zbu(1,i)=t(i);
zbu(2,i)=u(i);
else
f(i-1)=u(i-1)-2*t(i-1)/u(i-1);
p(i)=u(i-4)+4/3*h*(2*f(i-1)-f(i-2)+2*f(i-3));
m(i)=p(i)+112/121*(c(i-1)-p(i-1));
c(i)=1/8*(9*u(i-1)-u(i-3))+3/8*h*(m(i)-2*t(i)/m(i)+2*f(i-1)-f(i-2));
u(i)=c(i)-9/121*(c(i)-p(i));
zbu(1,i)=t(i);
zbu(2,i)=u(i);
end
end
zbu
%作图
plot(t,u,'r*','markersize',10)
hold on,
ezplot(y,[0,4])
hold on,
title('Miline-HammingÔ¤²â-УÕýËã·¨')
grid on
legend('Miline-HammingÔ¤²â-УÕýËã·¨','½âÎö½â')
%解真值
h=0.2;
t=0:h:4;
n=length(t);
for i=1:n
y(i)=(1+2*t(i))^(1/2);
zby(1,i)=t(i);
zby(2,i)=y(i);
end
zby
我们可以得到计算后的结果图像如图1所示
图1 Miline-Hamming预测-校正法与解析解比较(h=0.2)
同时我们可以得到Miline-Hamming预测-校正法和解析解在各点处的数
值分别如下表1所示:
t坐标 0 0.2000 0.4000 0.6000 0.8000 1.0000 1.2000 1.4000 1.6000
真值 1.0000 1.1832 1.3416 1.4832 1.6125 1.7321 1.8439 1.9494 2.0494
M-H法 2.1445 2.2357 2.3233 2.4077 2.4890 2.5677 2.6438 2.7174 2.7887
t坐标
真值
表1 Miline-Hamming预测-校正法与解析解在各点数值比较(h=0.1)
为了评判Miline-Hamming预测-校正法的算法精度,在这里我们利用相对误差
的概念进行评判。
对于Miline-Hamming预测-校正法的每个的估计值有:
相对误差=估计值-真值
真值
从而我们可以通过计算得到如下的相对误差表:
t坐标
t坐标
很明显,当我们对各点处的相对误差取平均后,该平均值小于0.01。
因此,我们可以认为Miline-Hamming预测-校正法的在h=0.2时的算法精度相对较高,所得到的结果与真值较为接近。
接下来我们在对h=0.5和h=0.1的情况进行计算,可以得到结果如下表3和表4所示
t坐标0 0.5000 1.0000 1.5000 2.0000 2.5000 3.0000 3.5000 4.0000 H=.5 1.0000 1.4155 1.7355 2.0084 2.2517 2.4886 2.7454 3.0750 3.5964 真值 1.0000 1.4142 1.7321 2.0000 2.2361 2.4495 2.6458 2.8284 3.0000
1.0000 1.0954 1.1832 1.2649 1.3416 1.4142 1.4832 1.5492 1.6125
真值
真值 2.8636 2.8983 2.9326 2.9665 3.0000
表4 Miline-Hamming预测-校正法在各点值及相对误差比较(h=0.1)
其中表3中相对误差的平均值为0.0393。
而表4中的误差值小于是10的-3次方,在此不列出。
可以的到结果图像如下图2和图3所示:
图1 Miline-Hamming预测-校正法与解析解比较(h=0.5)
图1 Miline-Hamming预测-校正法与解析解比较(h=0.1)
实验结果
通过以上计算,我们可以得到如下的结论:
1.Miline-Hamming预测-校正法的计算精度相对较高,,当步长h=0.2时平均相对误差已小于0.01,因此可以认为这种方法可以得到和解析解较为接近的数值解。
2.伴随着步长的增加,我们可以发现相对误差的平均值随之减小。
因此我们认为当步长h越小时计算精度越高。
因此在计算能力允许的范围内,选取步长越小可以得到更加精确的结果。
3.在利用Miline-Hamming预测-校正法的过程中,前4次迭代的结果会对第五轮求得的数值产生影响。
因此,一旦前四轮轮迭代所得的结果有偏差,下一轮结果的偏差将大于之前的偏差。
因此会导致伴随迭代次数的增加而产生更大的偏差。