Metody numeryczne w fizyce
FZP002934wcL
rok akademicki 2020/21 semestr letni
Wykład 7
Karol Tarnowski
karol.tarnowski@pwr.edu.pl
L-1 p. 220
• Zagadnienie początkowe
• Metoda Eulera
• Metody Rungego-Kutty
– metoda Heuna
– metoda punktu pośredniego – metoda rzędu czwartego
• Kontrola wielkość błędu
Plan wykładu
Typowe zagadnienie początkowe opisane jest równaniem
W zagadnieniu początkowym może występować więcej zmiennych
Zagadnienie początkowe
( ) ( )
= , , 0 = 0 . df g t f f t f dt
( ) ( )
= , , 0 = 0 .
d t t
dt
f g f f f
Metoda Eulera
( ) ( )
= , , 0 = 0 . df g t f f t f dt
( )
+ +
− =
−
1 1
,
n n
n n n
n n
f f
g t f g
t t
+ −
1
n n
n
f f
h g
( )
+ 1 = + + 2
n n n
f f hg O h
Metoda Eulera
U U
dN N
dt = −
https://www.geogebra.org/classic/sb2fjudh
Metoda Heuna
U U
dN N
dt = −
https://www.geogebra.org/classic/spkxdnwf
Metoda Heuna
( + ) ( ) + ( 1 + 2 )
1
f t h f t 2 k k ( )
( )
=
= + +
1
2 1
,
, k hg t f
k hg t h f k
Metoda punktu pośredniego
U U
dN N
dt = −
https://www.geogebra.org/classic/ykq4ynag
Metoda punktu pośredniego
( + ) ( ) + 2
f t h f t k = ( )
= + +
1
1 2
,
2 , 2 k hg t f
h k
k hg t f
Metody Rungego-Kutty rzędu drugiego
( + ) ( ) + ( 1 + 2 )
1
f t h f t 2 k k ( ( ) )
( ( ) )
=
= + +
1
2 1
,
, k hg t f t
k hg t h f t k
( + ) ( ) + 2
f t h f t k
( ( ) )
( )
=
= + +
1
1 2
,
2 , 2
k hg t f t h k
k hg t f t
( + ) ( ) + 1 1 + 2 2
f t h f t k k ( ( ) )
( ( ) )
=
= + +
1
2 21 21 1
,
, k hg t f t
k hg t h f t k
Metody Rungego-Kutty rzędu drugiego
( + ) = ( ) + t + 2 2 2 2 t + ( ) 3
df h d f
f t h f t h O h
dt dt
( )
= ,
df g t f dt
( + ) = ( ) + ( , ( ) ) + 2 2 + ( ) 3
t
f t h f t hg t f t h d g O h dt
( + ) = ( ) + ( ( ) ) + + + ( )
2 3
, 2 t
h g g df
f t h f t hg t f t O h
t f dt
( + ) = ( ) + 1 1 + 2 2
f t h f t k k
Metody Rungego-Kutty rzędu drugiego
( ) ( ( ) )
( )
= + +
2 21 , 21 ,
k h g t h f t hg t f t
( ( ) )
1 = ,
k hg t f t
( ( ) ) ( ( ) ) ( )
= + + +
2
2 , 21 21 ,
t t
g g
k h g t f t h hg t f t O h
t f
( ( ) ) ( ( ) ) ( )
= + + +
2 2 3
2 , 21 21 ,
t t
g g
k hg t f t h h g t f t O h
t f
( ( ) )
= + +
2 21 , 21 1
k h g t h f t k
Metody Rungego-Kutty rzędu drugiego
( ) ( ) ( ( ) ) ( ( ) )
( )
+ = + + +
+ + +
1 2
2 3
2 21
, ,
t
f t h f t hg t f t hg t f t
g g
h g O h
t f
( ( ) ) ( )
= + + +
2 3
2 , 21
t
g g
k hg t f t h g O h
t f
( ( ) ) ( ( ) ) ( )
= + + +
2 2 3
2 , 21 21 ,
t t
g g
k hg t f t h h g t f t O h
t f
( ( ) )
1 = ,
k hg t f t
( + ) = ( ) + 1 1 + 2 2
f t h f t k k
Metody Rungego-Kutty rzędu drugiego
( ) ( ) ( ) ( ( ) )
( )
+ = + + +
+ + +
1 2
2 3
2 21
,
t
f t h f t hg t f t
g g
h g O h
t f
( + ) = ( ) + ( ( ) ) + + + ( )
2 3
, 2 t
h g g df
f t h f t hg t f t O h
t f dt
+ =
=
1 2
2 21
1 1 2
=
=
=
1 2 1 2 2 1
21 1
=
=
=
1 2
21 1 2
0
1
Metody Rungego-Kutty rzędu drugiego
21
1
2
+ =
=
1 2
2 21
1 1 2
=
=
=
1 2 1 2 1 2
21 1
=
=
=
1 2
21 1 2
0 1
( + ) ( ) + 1 1 + 2 2
f t h f t k k ( ( ) )
( ( ) )
=
= + +
1
2 21 21 1
,
, k hg t f t
k hg t h f t k
1
½ ½
½
0 1
Metody Rungego-Kutty
( + ) ( ) + 1 1 + 2 2 + + n n
f t h f t k k k
( ( ) )
( ( ) )
( ( ) )
( )
− −
= =
=
= + +
= + + + +
= + +
1
2 21 21 1
3 31 32 31 1 32 2
1 1
1 1
,
,
,
n
,
nn ni ni i
i i
k hg t f t
k hg t h f t k
k hg t h h f t k k
k hg t h f t k
Metoda Rungego-Kutty rzędu czwartego
½
0 ½
0 0 1
1/6 1/3 1/3 1/6
( ) ( ) ( )
( ( ) )
( ) ( )
( ( ) )
+ + + + +
=
= + +
= + +
= + +
1 2 3 4
1
2 1
3 2
4 3
1 2 2
6 ,
1 1
2 , 2
1 1
2 , 2
,
f t h f t k k k k
k hg t f t
k hg t h f t k
k hg t h f t k
k hg t h f t k
Metoda Rungego-Kutty rzędu czwartego
( ) ( )
( ) ( ) ( )
+ = + +
+ = + +
5
ˆ 2 2 5
f t h f t h Ch f t h f t h C h
( ) ( )
= + − ˆ + + 15 5
0 f t h f t h 16 Ch
( ) ( ) ( ) ( )
= + − + + − +
5 16 ˆ ˆ
Ch 15 f t h f t h f t h f t h
Metody adaptacyjne Rungego-Kutty
Metoda Rungego-Kutty-Fehlberga
Liczba obliczonych wartości funkcji 1 2 3 4 5 6 7 8
Maksymalny rząd metody 1 2 3 4 4 5 6 6
( ) ( )
( ) ( )
( )
=
=
− −
= =
+ = +
+ = +
= + +
6
1 6
1
1 1
1 1
ˆ :
:
: ,
i i i
i i i
i i
i ij ij j
j j
f t h f t k
f t h f t k
k hg t h f t k
Metody adaptacyjne Rungego-Kutty
Metoda Rungego-Kutty-Fehlberga
i
i
i-
id
i1d
i2d
i3d
i4d
i51 16
135
1 360
2 0 0 1
4 3 6656
12825 − 128 4275
3 32
9 32 4 28561
56430 − 2197 75240
1932
21967 − 7200 2197
7296 2197 5 − 9
50
1 50
439
216 −8 3680
513 − 845 4104
6 2
55
2
55 − 8
27 2 − 3544
2565
1859
4104 − 11
40
Metody adaptacyjne Rungego-Kutty
Metoda Rungego-Kutty-Fehlberga
( ) ( ) ( )
=
= + − + = −
6
1
5
: ˆ
/128
i i i
i
e f t h f t h k
e
e Ch
e
Metody adaptacyjne Rungego-Kutty
ode23 Bogacki-Shampine
i
i
id
i1d
i2d
i31 2
9
7 24
2 1
3
1 4
1 2
3 4
9
1
3 0 3
4
4 0 1
8
2 9
1 3
4 9
( ) ( )
( ) ( )
( )
4
1 4
1
1 1
1 1
ˆ :
:
: ,
i i i
i i i
i i
i ij ij j
j j
f t h f t k
f t h f t k
k hg t h d f t d k
=
=
− −
= =
+ = +
+ = +
= + +
• Zagadnienie początkowe
• Metoda Eulera
• Metody Rungego-Kutty
Podsumowanie (1)
( ) ( )
= , ,
0=
0d t t
dt
f g f f f
( )
+ 1 = + + 2
n n n
f f hg O h
( + ) ( ) + 1 1 + 2 2
f t h f t k k
( ( ) )
( ( ) )
=
= + +
1
2 21 21 1
,
, k hg t f t
k hg t h f t k
• Metody Rungego-Kutty
• Kontrola wielkość błędu
Podsumowanie (2)
( + ) ( ) + 1 1 + 2 2 + + n n
f t h f t k k k
( ( ) )
( ( ) )
( ( ) )
( )
− −
= =
=
= + +
= + + + +
= + +
1
2 21 21 1
3 31 32 31 1 32 2
1 1
1 1
,
,
,
n
,
nn ni ni i
i i