Picard迭代

Download Report

Transcript Picard迭代

问题:
利用Picard迭代法求初始值问题
y’=x^2+y^2, y(0)=0
近似解,且使近似解在区间
[0,0.5]内与精确解的误差不超
过0.05
目的:
解微分方程的问题大致可分为:初始值问
题、边值问题和混合问题。那么如何利用
Maple 软件包来处理这一系列问题,从
而获得方程的解析解或近似解显的尤为重
要。我们通过观察函数多次迭代后的分布
规律,根据初始条件,获得微分方程的近
似解,由此掌握微分方程的数值迭代解法,
熟悉Maple软件包的运行环境。
x
我们定义函数  n ( x)  y0  0 f (s,  n1 (s))ds
(其中  0 ( x)  y0)称为初值问题:
dy
 f ( x, y )
dx
( x0 )  y0
的第n次近似解
从而有下列公式成立:
MLn n1
( x )   n ( x ) 
h
(n  1)!
此为区间 x  x0  h 上,用n次近似 n (x) 来
逼近精确解  (x ) 时的误差估计式,其中
b
h  min( a, ), M  max f ( x, y ) .
( x , y )R
M
L为李普希兹常数
x
事实上,由 ( x)  y0  0 f (s, (s))ds及迭
代列 :
x
 0 ( x )  y0
 n ( x)  y0   f (s,  n1 (s))ds
0
n  1,2, 
得:
( x )   0 ( x ) 

x
0
f ( s, ( s)) ds  M ( x  x0 )
设
则
MLk
k 1
( x )   k ( x ) 
x  x0
(k  1)!
( x)   k 1 ( x) 

x
0
f ( s, ( s))  f ( s,  k ( s)) ds
MLk x
k 1

s  x0 ds

(k  1)!0
MLk 1
k 2

x  x0
(k  2)!
由归纳法可知,对任意n次近似解,估
计式成立。
/证毕!
主要思路:
首先判断出满足唯一性条件的h、L和M,由
MLn n1
 n ( x )  ( x ) 
h  0.05
(n  1)!
判断出要进行的迭代次数n,应用Picard迭
代即可解决问题。由于运算量过大,在迭代
时可利用Maple软件包进行。
下面根据条件推出n的值:
解. 由题意知x满足:
不妨假定 y  2
从而:
1 1
x 
4 4
则:
1
a  ,b  2
4
1 17
M  4 
4
4
1
h
4
f

 2y
y
 L可以取2
从而代入式:
MLn n1
 n ( x )  ( x ) 
h  0.05
(n  1)!
可得:
n3
所以求出第三次迭代式即可
下面运用Maple软件包来解决迭代问题
该问题等价的积分方程为:
x
y( x)   ( s 2  y( s) 2 )ds
0
利用Maple去进行这些重复性的迭代:
y0:=1;
y1:=1+int(x^2+y0^2,x=0..x);
y2:=1+int(x^2+y1^2,x=0..x);
y3:=1+int(x^2+y2^2,x=0..x);
y4:=1+int(x^2+y3^2,x=0..x);
回车后Maple的输出结果为:
综上所述:原方程的近似解为:
1 3 1 7
2 11
1
15
 ( x)  x  x 
x 
x
3
63
2079
59535
误差不超过0.05
结果分析:
我们运用了简单的迭代函数解决了一
个比较复杂的问题,从中看到了迭代
法的重要性。然而其结果将随着迭代
次数的逐步增加,从而逐渐趋向于精
确值,但其只会无限靠近精确值,不
会相等。
小结:
我们用到了Maple很小的一部分。并且只
解决了初始值的问题,那么对于边值问题
和混合问题的处理,Maple则发挥了更加
重要且有效的作用,这在我们今后的进一
步学习中将涉及到。
有了良好的数学基础再加上Maple软件的
熟练运用,必定使我们如虎添翼,将使得
我们更有能力和信心去处理各种问题。