Professional Documents
Culture Documents
d02 2008
d02 2008
yi +1 − yi 1 s s
(3) = ∑ p j k j , h = xi +1 − xi , yi +1 = yi + ∑ p j k j ,
h h j =1 j =1
където
k1 = h f ( xi , yi ),
(4) k2 = h f ( xi + α 2 h, yi + β 21k1 ),
k j = h f ( xi + α j h, yi + β j1k1 + β j 2 k2 + + β j , j −1k j −1 ), j = 3, … , s.
u i +1 − u i 1 s
ψi = − ∑ pjk j ,
h h j =1
1. Нека s = 1 . Тогава
y i +1 − yi 1
= p1 k1 , y i +1 = y i + p1k1 ,
h h
u − ui 1 u − ui
ψ i = i +1 − p1 k1 = i +1 − p1 f ( xi , u i ) =
h h h
1 h2 h
= (ui + hui′ + u ′′( xi + θ h ) − ui ) − p1ui′ = (1 − p1 ) ui′ + u ′′( xi + θ h ).
h 2 2
y i +1 − y i
= f ( xi , y i ) ,
h
12
y i +1 − y i 1
2. Нека s = 2 . Тогава = ( p1 k1 + p 2 k 2 ) , y i +1 = y i + p1k1 + p 2 k 2 ,
h h
u −u 1 u −u
ψ i = i +1 i − ( p1k1 + p 2 k 2 ) = i +1 i − p1 f ( xi , ui ) − p 2 f ( xi + α 2 h, ui + β 21k1 ) =
h h h
1⎛ h 2
h 3
⎞
= ⎜⎜ u i + h u i′ + u i′′ + u i′′′ + O(h 4 ) − u i ⎟⎟ − p1u i′ −
h⎝ 2 6 ⎠
⎡ ∂f ∂f ⎤
− p 2 ⎢ f ( xi , u i ) + α 2 h ( x i , u i ) + β 21 h f ( xi , u i ) ( x i , u i ) + O (h 2 )⎥ =
⎣ ∂x ∂u ⎦
⎛ 1 ⎞ ∂ f ⎛ 1 ⎞ ∂ f
= (1 − p1 − p 2 ) u i′ + ⎜ − α 2 p 2 ⎟ h ( xi , u i ) + ⎜ − β 21 p 2 ⎟ h ( xi , u i ) u i′ + O(h 2 ) .
⎝2 ⎠ ∂x ⎝2 ⎠ ∂u
∂f ∂f
При извода сме използвали, че от уравнение (1) имаме u′′ = + u′ . Следователно, за
∂x ∂u
1
да имаме ψ i = O (h 2 ) за произволна функция f , трябва 1 − p1 − p2 = 0 , − α 2 p2 = 0 ,
2
1
− β 21 p2 = 0 ,или още
2
⎧
⎪ p1 + p2 = 1
⎪
⎪ 1
(5) ⎨ α 2 p2 = .
⎪ 2
⎪ 1
⎪⎩ β 21 p2 = 2
За четирите неизвестни параметъра се получава неопределена система
нелинейни алгебрични уравнения, която има безбройно много решения, зависещи от
един параметър. Да разгледаме някои възможни решения. Общите съображения за
избора им са:
• коефициентите p j да са неотрицателни (при изваждане на близки числа
става голяма загуба на точност);
• по възможност всички коефициенти да се представят точно в двоична
система заради компютърната реализация.
а) p1 = p 2 = 1 / 2 , α 2 = 1 , β 21 = 1 :
y i +1 − y i k1 + k 2
(6) = , k1 = h f ( x i , y i )
h 2h
k 2 = h f ( x i + h , y i + k1 ) .
б) p1 = 0 , p 2 = 1 , α 2 = β 21 = 1 / 2 :
y i +1 − y i k 2
(7) = k1 = h f ( xi , yi )
h h
k 2 = h f ( xi + h / 2, y i + k1 / 2) .
в) p1 = 1 / 4 , p 2 = 3 / 4 , α 2 = β 21 = 2 / 3 :
13
y i +1 − y i k1 + 3k 2
(8) = k1 = h f ( x i , y i )
h 4h
k 2 = h f ( xi + 2h / 3, y i + 2k1 / 3) .
u ′ = f ( x, u , v )
v ′ = g ( x, u , v )
u( x0 ) = u 0
v( x 0 ) = v 0
четириетапният метод на Рунге-Кута се записва така:
y i +1 − y i 1 z i +1 − z i 1
= ( k1 + 2 k 2 + 2 k 3 + k 4 ) , = (l1 + 2l 2 + 2l 3 + l 4 ) ,
h 6h h 6h
14
k1 = h f ( x i , y i , z i ) , l1 = h g ( xi , y i , z i ) ,
k 2 = h f ( xi + h / 2, yi + k1 / 2, zi + l1 / 2) , l 2 = h g ( xi + h / 2, yi + k1 / 2, zi + l1 / 2) ,
k 3 = h f ( xi + h / 2, y i + k 2 / 2, zi + l 2 / 2) , l3 = h g ( xi + h / 2, y i + k 2 / 2, zi + l 2 / 2) ,
k 4 = h f ( x i + h, y i + k 3 , z i + l 3 ) , l 4 = h g ( x i + h, y i + k 3 , z i + l 3 ) .
Задачи
1 3 2 2
• за метода в): p1 = , p2 = , α 2 = , β 21 = .
4 4 3 3
Тъй като тези коефициенти във всеки един от случаите удовлетворяват системата
(5), то ψ i = O ( h 2 ) .
15
h2
(11) yi +1 = yi + h( xi − yi + 1) + ( yi − xi ) .
2
1
Да разгледаме сега метода б), но представен във вида (9), където p1 = ,
2
1
p2 = , α 2 = 1, β 21 = 1 . Като го приложим към задача (10), получаваме
2
последователно
k1 = h( xi − yi + 1) ,
k2 = h( xi + h − yi − k1 + 1) = h( xi + h − yi − h( xi − yi + 1) + 1) =
= h( xi − yi + 1) + h 2 ( yi − xi ),
h h h2
yi +1 = yi + ( xi − yi + 1) + ( xi − yi + 1) + ( yi − xi ) ,
2 2 2
или окончателно
h2
(12) yi +1 = yi + h( xi − yi + 1) + ( yi − xi ) .
2
Очевидно (11) и (12) съвпадат.
y i +1 − y i k1 + 3k 2
= , k1 = h f ( x i , y i ) , k 2 = h f ( xi + 2h / 3, y i + 2k1 / 3) ,
h 4h
ui +1 − ui 1 3 ⎛ 2 ⎞
ψi = − f ( xi ) − f ⎜ xi + h ⎟ =
h 4 4 ⎝ 3 ⎠
1⎛ h2 h3 h 4 IV ⎞ 1
= u
⎜ i + hui
′ + ui
′′ + ui
′′′+ ui + O ( h 5 ) − ui ⎟ − f ( xi ) −
h⎝ 2 3! 4! ⎠ 4
3⎛ ⎞
2 3
2 ⎛ 2 ⎞ 1 ⎛ 2 ⎞ 1
− ⎜ f ( xi ) + hf ′( xi ) + ⎜ h ⎟ f ′′( xi ) + ⎜ h ⎟ f ′′′( xi ) + O (h 4 ) ⎟ =
4 ⎜⎝ 3 ⎝3 ⎠ 2 ⎝ 3 ⎠ 3! ⎟
⎠
⎛ 1 3 ⎛ 2 ⎞3 1 ⎞ ⎛ 1 1 ⎞
= h ui
3 IV
− + O (h 4 ) = h 3ui IV ⎜ − ⎟ + O (h 4 ) = O ( h 3 ).
⎜⎜ 4! 4 ⎜⎝ 3 ⎟⎠ 3! ⎟⎟ ⎝ 24 27 ⎠
⎝ ⎠
16
4 зад. За задачата
u′′( x ) = f ( x, u ( x )), x ∈ ( x0 , X ],
(15) u ( x0 ) = u0,
u′( x0 ) = u0′
u′( x ) = v ( x ), x ∈ ( x0 , X ],
v′( x ) = f ( x, u( x )),
(16)
u( x0 ) = u0,
v ( x0 ) = u0′ .
1 1
yi +1 = yi + ( k1 + k2 ), zi +1 = zi + (l1 + l2 ),
2 2
k1 = h zi , l1 = h f ( xi , yi ),
k2 = h( zi + l1 ), l2 = h f ( xi + h, yi + k1 ),
или още
h
yi +1 = yi + (2 zi + h f ( xi , yi )),
2
h
zi +1 = zi + ( f ( xi , yi ) + f ( xi + h, yi + hzi )
2
y0 = u0,
z0 = u0′ .
17
§ 3. ОЦЕНКА НА ГРЕШКАТА НА ЕДНОСТЪПКОВИТЕ МЕТОДИ
Нека
yi +1 − yi X − x0
(1) = θ i ( xi , yi ), i = 0, 1,… , n − 1, xi = x0 + ih, h =
h n
е едностъпков метод за решаване на задачата на Коши
Yi ( xi +1 ) = y i + h θ i ( xi , y i ) + hψ i + hδ i = yi +1 + hψ i + hδ i ,
Yi ( xi +1 ) − yi +1 = hψ i + hδ i , Yi ( xi +1 ) − Yi +1 ( xi +1 ) = hψ i + hδ i .
Доказателство. Имаме
Y1′ = f ( x, Y1 ) ,
Y2′ = f ( x, Y2 ) .
18
Изваждаме второто равенство от първото, прилагаме теоремата за крайните нараствания
и интегрираме по x в интервала [a, b]
∂f
Y1′ − Y2′ = f ( x, Y1 ) − f ( x, Y2 ) = ( x, u ( x)) (Y1 − Y2 ) ,
∂u
b
∂f ∂f
(ln(Y1 − Y2 ))′ = ( x, u ( x )) , ln(Y1 − Y2 ) ba = ∫ ( x, u ( x)) dx .
∂u a
∂u
Твърдението на лемата следва от последното равенство.
Да приложим лемата към разликите в сумата в (9)
xn
∂f
n ∫ ∂ u ( x ,ui ( x ))dx
(10) z n = u n − y n = ∑ (Yi −1 ( xi ) − Yi ( xi )) e xi
, Yi −1 ( x) ≤ u i ( x) ≤ Yi ( x) .
i =1
Ако предположим, че
∂f
( x, u ) ≤ K ,
∂u
и използваме (8), от (10) получаваме
n
(11) z n = u n − y n ≤ e K( xn − xi ) ∑ h ( ψ i −1 + δ i −1 ) .
i =1
Да предположим, че за локалната грешка на апроксимация имаме
ψ i ≤ ch s , s ≥ 1 ,
както е например за s -етапния метод на Рунге-Кута при s ≤ 4 , ако u ( x ) ∈ C s+1 [ x 0 , X ] .
Нека още max δ i = δ . Тогава oт (11) получаваме:
0≤ i ≤ n
⎡n ⎤
z n = u n − y n ≤ e K ( xn − x0 ) h ⎢∑ ψ i −1 + nδ ⎥ ≤ e K ( xn − x0 ) n h (C h s + δ ) ≤
⎣ i =1 ⎦
K ( x n − x0 )
≤e ( x n − x0 )(C h + δ ) .
s
19
§ 4. МЕТОД НА РУНГЕ ЗА ПРАКТИЧЕСКА ОЦЕНКА НА ГРЕШКАТА
u ( x) − y h ( x) u ( x) − y h ( x)
= 2α , α = ln / ln 2 .
u ( x) − y h / 2 ( x) u ( x) − y h / 2 ( x)
Ако точното решение на задачата не е известно, пресмятаме приближеното
решение върху още една мрежа със стъпка h / 4 :
α
⎛h⎞
(3) u ( x) = y h / 4 + c ⎜ ⎟ .
⎝4⎠
Чрез изваждане на (2) от (1) и (3) от (2) получаваме
α⎛ 1 ⎞ hα ⎛ 1 ⎞
yh − yh / 2 = c h ⎜ α − 1⎟ , yh / 2 − yh / 4 = c α ⎜ α − 1⎟ ,
⎝2 ⎠ 2 ⎝2 ⎠
следователно
yh − yh / 2 yh − yh / 2
= 2α , α = ln / ln 2 .
yh / 2 − yh / 4 yh / 2 − yh / 4
20
Ако за пресметнатите α = α (x ) във всички (или в достатъчно много) общи точки на
мрежите ω h , ω h / 2 и ω h / 4 имаме
α (x ) ≈ α ,
то можем да считаме, че α е реалният ред на сходимост на числения метод.
21