Metoda Rungego

Download Report

Transcript Metoda Rungego

Slide 1

Numeryczne całkowanie
układów dynamicznych
metodą Rungego-Kutty
dr Joanna Napiórkowska
Instytut Matematyki i Informatyki
Uniwersytet Opolski


Slide 2

W wielu dziedzinach nauki pojawiają się
problemy natury dynamicznej, zmienne w czasie:
- w naukach społecznych, np. problemy dotyczące
zbiorowisk ludzkich,
- w naukach ekonomicznych np. mechanizmy
cyklu ekonomicznego,
- w naukach przyrodniczych, np. podukłady takie
jak serce i jego neurologiczny system sterowania,
- w naukach fizycznych, np. zagadnienie trzech
ciał.


Slide 3

W modelowaniu takich układów dynamicznych
często stosuje się numeryczne całkowanie
równań różniczkowych zwyczajnych.
Rozwój metod numerycznych:
I. praca Adamsa i Bashfortha (1883 r.)
praca C.Rungego (1895 r.)
praca M.W.Kutty (1901 r.)
II. zastosowanie elektronicznych maszyn
cyfrowych (od początku lat 60-tych XX w.)


Slide 4

Martin Wilhelm Kutta
(1867-1944)

Carl Runge
(1856-1927)


Slide 5

Rozważmy zagadnienie początkowe
 y ' ( t )  f ( t , y ( t )),


 y ( a )  y 0

t  a , b 

Niech t n ( i  0 ,1, 2 ,  ) będą punktami przedziału a , b 
oraz t n  t n 1 i t 0  a . Niech każdemu punktowi t n
odpowiada liczba y n będąca przybliżeniem
wartości rozwiązania dokładnego y ( t n ) . Obliczenia
mogą być wykonywane ze stałą lub ze zmienną
długością kroku całkowania h n  t n  t n 1 .


Slide 6

Metody Rungego-Kutty określamy ogólnie wzorem
m

(1)

y n  1  y n  h  w i k i , n  0 ,1, 2 ,  , h  const .
i 1

gdzie
m

(2)

k i  f (t n  c i h ,

y n  h  a ij k j ),
j 1

przy czym
m

(3)

ci 

a

ij

,

i  1,  , m .

j 1

Liczba m określa ilość etapów metody.

i  1,  , m ,


Slide 7

Współczynniki w i , c i , a ij wygodnie jest
przedstawić w postaci tablicy


c1

a 11

c2

a 21 a 22

c3

a 31 a 32



cm



a 1m





a m 1 a m 2  a m , m 1 a mm
w1

w2 

w m 1 w m


Slide 8

Jeżeli macierz kwadratowa [ a ij ] ma zerowe
elementy na głównej przekątnej oraz nad nią,
to metoda Rungego-Kutty jest jawna.
Wtedy współczynniki k i redukują się do postaci
k 1  f ( t n , y n ),
i 1

k i  f ( t n  c i h , y n  h  a ij k j ),
j 1

i 1

ci 

a
j 1

ij

,

i  1.

i  1,


Slide 9

Załóżmy, że zamiast y n wstawiamy do wzoru (1)
wartość dokładną y ( t n ) . Wówczas dla wartości
dokładnej y ( t n 1 ) , dla t n 1  t n  h prawdziwa jest
następująca zależność
m

y ( t n  h )  y ( t n )  h  w i k i ( h )  rn  1 ( h ),
i 1

gdzie rn 1 ( h ) jest błędem spełnienia wzoru (1) przez
wartości rozwiązania dokładnego y ( t n ) oraz y ( t n 1 ) .
Wielkość błędu aproksymacji określa dokładność
metody.


Slide 10

Metoda Rungego-Kutty jest rzędu p , jeżeli dla
każdego zagadnienia początkowego
rn  1 ( 0 )  0 , rn  1 ( 0 )  0 ,  , rn  1 ( 0 )  0
'

( p)

oraz
( p 1)

rn  1

(0)  0.

Metoda Rungego-Kutty rzędu p wymaga
ustanowienia warunków wiążących współczynniki
w i , c i , a ij .


Slide 11

Dla metody rzędu pierwszego mamy warunek
m

w

i

 1.

i 1

Dla metody rzędu drugiego, oprócz warunku
m

poprzedniego, mamy 

wici 

i 1

1
2

.

Dla metody rzędu trzeciego dodajemy warunki
m

wc
i

i 1

2
i



1
3

i 1

m

,

w a
i

i 1

j 1

ij

cj 

1
6

.


Slide 12

Dla metody rzędu czwartego dodatkowo mamy
m

wc
i

3
i



i 1

w a
i

wc a

,

i

4
ij

c

i 1

m

i 1

i 1

m

i 1

1

2
j



1

ij

cj 

j 1

,

,

8
j 1

i 1

m

12

j 1

i

1

w a a
i

i 1

ij

j 1

jk

ck 

k 1

Liczba warunków l rośnie wraz ze wzrostem
rzędu aproksymacji p
p

1

2

3

4

5

6

7

8

l

1

2

4

8

17

37

85

200

1
24

.


Slide 13

Zależność między ilością etapów m a rzędem
aproksymacji p:
dla

m  1, 2 ,3 , 4

dla

m  5,6 ,7

dla

m  8

pm
p  m 1
p  m2


Slide 14

Dla

m 1

(metoda jednoetapowa):
y n 1  y n  hw 1 k 1

, gdzie

k 1  f (t n , y n )

.

W tym przypadku jedyną możliwością jest rząd
aproksymacji p  1 . Z warunku gwarantującego, że
metoda jest rzędu pierwszego wynika, że w 1  1 .
Wówczas dostajemy
y n 1  y n  hf ( t n , y n )
metoda Eulera
Postać tabelaryczna:
0 0
1


Slide 15

Algorytm
metody
Eulera

Początek
Podaj a , b , y 0 , h
t : a , y : y 0

Drukuj t , y
t : t  h

y : y  hf ( t , y )

tt  bt n
N

Koniec

T


Slide 16

Istnieje nieskończenie wiele dwuetapowych
metod Rungego-Kutty rzędu drugiego
(dowód: A. Krupowicz, Metody numeryczne...)
Przykład 1: ulepszona metoda Eulera
y n 1  y n  hk 2 ,

gdzie

k 1  f ( t n , y n ),
k 2  f (t n 

1
2

h, y n 

1
2

hk 1 ).

0 0 0
½ ½ 0
0 1


Slide 17

Przykład 2: metoda Eulera-Cauchy’ego
y n 1

gdzie

1
1

 y n  h  k 1  k 2 ,
2
2


k 1  f ( t n , y n ),
k 2  f ( t n  h , y n  hk 1 ).

0 0 0
1 1 0
½ ½

Podobnie istnieje nieskończenie wiele metod
trójetapowych rzędu trzeciego oraz metod
czteroetapowych rzędu czwartego.


Slide 18

Popularna metoda czteroetapowa rzędu czwartego
najczęściej kojarzona z nazwiskami Rungego i Kutty
y n 1  y n 

gdzie

1
6

h ( k 1  2 k 2  2 k 3  k 4 ),

k 1  f ( t n , y n ),
k 2  f (t n 
k 3  f (t n 

1
2
1
2

h, y n 
h, y n 

1
2
1
2

hk 1 ),
hk 2 ),

k 4  f ( t n  h , y n  hk 3 ).

0
½
½
1

0
½
0
0
1
6

0
0
½
0

0
0
0
1

0
0
0
0

1

1

1

3

3

6


Slide 19

Początek

Algorytm

Podaj a , b , y 0 , h
t : a , y : y 0

Drukuj t , y
k 1 : f ( t n , y n )
k 2 : f ( t n 

1

k 3 : f ( t n 

1

2
2

h, y n 

1

h, y n 

1

2
2

hk 1 )
t : t  h

hk 2 )

k 4 : f ( t n  h , y n  hk 3 )
y : y 

1
6

h(k1  2k 2  2k 3  k 4 )
T

t  b
N

Koniec


Slide 20

Zastosowanie metody Rungego-Kutty:
Rozwiązanie równania różniczkowego
y' t  y

z warunkiem początkowym
y (0)  1

1. Metoda Rungego-Kutty
Obliczamy kolejno dla kroku

h  0,2

k 1  f ( 0 ,1)   1
k2  f (

1
2

h ,1 

1
2

hk 1 ) 

1
2

 0 , 2  (1 

1
2

 0 , 2  (  1))   0 ,8


Slide 21

k3  f (

1
2

h ,1 

1
2

hk 2 ) 

1

 0 , 2  (1 

2

1

 0 , 2  (  0 ,8 ))   0 ,82

2

k 4  f ( h ,1  hk 3 )  0 , 2  (1  0 , 2  (  0 ,82 ))   0 , 636

y ( 0 ,2 )  y (t1 )  y 1  y 0 
1

1

1
6

h(k1  2k 2  2k 3  k 4 ) 

 0 , 2  ((  1)  2  (  0 ,8 )  2  (  0 ,82 )  (  0 , 636 )) 

6
 0 ,8708

...
Następne przybliżenia obliczamy analogicznie.


Slide 22

2. Metoda analityczna
dy

t y

dt
y ( t )  Ce

t

,C  R

y (t )  C (t )e
dC

e

t

t

t

 C  (  e )  t  Ce

dt
dC

 te

t

dt
~
C ( t )  te  e  C
~ t ~
y (t )  t  1  C e , C  R
t

t

t


Slide 23

Po uwzględnieniu warunku początkowego
y (t )  t  1  2 e

t

Stąd
y (0,2 )  0,2  1  2  e

0 , 2

 0 , 2  1  2  0 ,82  0 ,84

...

Dla uzyskania większej dokładności wyników
można zastosować mniejszy krok całkowania.


Slide 24

Przykład jednoetapowej metody niejawnej rzędu
drugiego ( m  1, p  2 )
y n  1  y n  hk 1 ,
k 1  f (t n 

1
2

h, y n 

1
2

1

1

2

2

1

hk 1 )

Przykład dwuetapowej metody niejawnej rzędu
1
czwartego ( m  2 , p  4 ) 3  3
32
4

6
3
6

3

12

32 3

1

12

4

1

1

2

2

3


Slide 25

W przypadku układów równań różniczkowych
wzory określające metodę Rungego-Kutty mają tę
samą postać, ale odpowiednie wielkości skalarne
zastępuje się wielkościami wektorowymi
m



y n  1  y n  h  w i k i , n  0 ,1, 2 ,  , h  const .
i 1



k i  f (t n  c i h ,

m


y n  h  a ij k j ),
j 1

i  1,  , m .


Slide 26

Do rozwiązania układu równań
 y '  f (t , y , z )

 z '  g (t , y , z )

stosujemy zasadę jednej trzeciej Kutty-Simpsona
y n 1  y n 

1

z n 1  z n 

1

6
6

h ( k 1  2 k 2  2 k 3  k 4 ),
h ( l1  2 l 2  2 l 3  l 4 ),

gdzie współczynniki k 1 , k 2 , k 3 , k 4 , l1 , l 2 , l 3 , l 4 są
określone analogicznie jak w metodzie RungegoKutty czwartego rzędu dla pojedynczego równania.


Slide 27

Zastosowanie metody Rungego-Kutty:
Zagadnienie trzech ciał w mechanice nieba
Rozważmy układ równań opisujących ruch
satelity między Ziemią a Księżycem
y
y 1 



 y  y  2 z  (1   ) D
D2

1

 z  z  2 y  (1   ) z   z

D1
D2
gdzie
2
2 3/2
2
2 3/2
D 1  (( y   )  z ) , D 2  (( y  1   )  z ) ,

  0 , 01228 .


Slide 28

Współrzędne ( y , z ) opisują położenie satelity
względem środka masy układu Księżyc-Ziemia.
Ziemia znajduje się w punkcie (   , 0 ) , a Księżyc
w punkcie (1   , 0 ) . Dla dostatecznie małych 
i warunków początkowych
y ( 0 )  0 , y ( 0 )  0 ,

z ( 0 )  0 , z ( 0 )   2 , 00159

zagadnienia tego typu mają rozwiązania okresowe
z okresem T  17 , 06522 .


Slide 29

Obliczenia numeryczne wykonano
- metodą Eulera (24000 kroków, h  T / 24000 ),
- metodą Rungego-Kutty rzędu czwartego (6000
kroków, h  T / 6000 ),
- metodą rzędu czwartego ze zmiennym krokiem
z dokładnością 10-3.
Wynik obliczeń metodą Rungego-Kutty był
dokładniejszy niż metodą Eulera. Najdokładniejszy
wynik uzyskano w trzecim przypadku. Ta metoda
była też najszybsza (74 kroki obliczeń) (rys.).


Slide 30


Slide 31

Podsumowanie:
Metody Rungego-Kutty
- mają prostą formułę je określającą,
- są metodami jednokrokowymi,
- są metodami samostartującymi,
- dla dużej aproksymacji mają duży koszt obliczeń,

- są pracochłonne, zakres ich stosowalności jest
ograniczony.


Slide 32

Literatura:
K.E. Atkinson, An Introduction to Numerical
Analysis, John Wiley & Sons.
J.C. Butcher, Numerical methods for ordinary
differential equations (wersja elektroniczna).
E. Hairer, S.P. Nørsett, G. Wanner, Solving
Ordinary Differential Equations, Springer.
A. Krupowicz, Metody numeryczne zagadnień
początkowych równań różniczkowych, PWN.
A. Ralston, Wstęp do analizy numerycznej, PWN.