Metoda Runge

Transkrypt

Metoda Runge
1
METODY KOMPUTEROWE
METODA RUNGEGO- KUTTY
Michał PŁOTKOWIAK, Adam ŁODYGOWSKI
Konsultacje naukowe dr inz. Witold Kąkol
Poznań 2002/2003
METODY KOMPUTEROWE 3
Metoda Rungego- Kutty II rzędu
W metodzie tej wzór na całkowanie równania różniczkowego ma postać:
y i +1 = y i + (a1 k1 + a 2 k 2 )h
(3.1)
k1 = f ( x i , y i )
k 2 = f ( xi + p1 h; y i + q11k1h)
(3.2)
(3.3)
gdzie:
Zależności między współczynnikami są postaci:
a1 + a 2 = 1
1
2
1
a 2 q11 =
2
a1 p1 =
(3.4)
Pokażemy teraz sposób wyznaczania współczynników a, p i q dla metody RK II rzędu.
Wartości współczynników znajdziemy przez porównanie wyrazów w rozwinięciu
funkcji w szereg Taylora a postacią (3.1-3.3).
Rozwińmy funkcję f(x,y) w szereg Taylora. Otrzymamy:
Politechnika Poznańska ®
Michał Płotkowiak, Adam Łodygowski
2
METODY KOMPUTEROWE
METODA RUNGEGO- KUTTY
f ' ( xi , y i )h 2
+ 0(h 3 )
2!
∂f ( xi , y i ) ∂f ( xi , y i ) dy
f ' ( xi , y i ) =
+
∂x
∂y
dx
y i +1 = y i + f ( xi , y i )h +
y i +1 = y i + f ( xi , y i )h + (
∂f ∂f dy h 2
+
)
∂x ∂y dx 2!
Dowolną ciągłą funkcję g(x,y) możemy przedstawić w postaci:
g ( x + r , y + s ) = g ( x, y ) + r
∂g
∂g
+s
+Κ
∂x
∂y
(3.5)
Zatem (3.3) możemy zapisać w postaci:
f ( xi + p1 h, y i + q11 k1 h) = f ( xi , y i ) + p1 h
∂f
∂f
+ q11 k1 h + 0(h 2 )
∂x
∂y
(3.6)
gdzie 0(h2) oznacza wyrazy wyższego rzędu.
Zgodnie ze wzorem metody RK (3.1) po podstawieniu (3.2) oraz (3.3) otrzymujemy:
y i +1 = y i + a1 hf ( xi , y i ) + a 2 hf ( xi , y i ) + a 2 p1 h 2
+ a 2 q11 h 2
∂f
f ( xi , y i ) + 0(h 3 )
∂y
∂f
+
∂x
(3.7)
Po pogrupowaniu odpowiednich wyrazów otrzymamy:


∂f
∂f
y i +1 = y i + hf ( xi , y i )[a1 + a 2 ] + a 2 p1
+ a 2 q11
f ( xi , y i ) + 
∂x
∂y


3
+ 0(h )
(3.8)
Wyrażenie powyższe musi być równoważne z rozwinięciem funkcji w szereg Taylora
y i +1
∂f ∂f dx h 2
)
= y i + f ( xi , y i )h + ( +
∂x ∂y dy 2!
Politechnika Poznańska ®
Michał Płotkowiak, Adam Łodygowski
METODY KOMPUTEROWE
3
METODA RUNGEGO- KUTTY
Z tego wynika, że musi zachodzić:
a1 + a 2 = 1
1
2
1
a 2 q11 =
2
a1 p1 =
(3.9)
Podobnie możemy wyprowadzić znane nam już wzory dla metod RK:
1. Heuns’a z jednym korektorem: a2=1/2
zgodnie z zależnościami() a1=1/2, p1=q11=1
1
1
y i +1 = y i + ( k1 + k 2 )h
2
2
k1 = f ( x i , y i )
k 2 = f ( xi + h; y i + k1 h)
(3.10)
(3.11)
2. Punktu pośredniego (mid-point method) a2=1
zgodnie z zależnościami() a1=0, p1=q11=1/2
y i +1 = y i + k 2 h
k1 = f ( x i , y i )
1
1
k 2 = f ( xi + h; y i + k1 h)
2
2
(3.12)
(3.13)
3. Ralstona’a a2=2/3
zgodnie z zależnościami() a1=1/3, p1=q11=3/4
1
2
y i +1 = y i + ( k1 + k 2 )h
3
3
k1 = f ( x i , y i )
Politechnika Poznańska ®
Michał Płotkowiak, Adam Łodygowski
(3.14)
4
METODY KOMPUTEROWE
METODA RUNGEGO- KUTTY
k 2 = f ( xi +
3
3
h; y i + k1 h)
4
4
(3.15)
PRZYKŁAD
Obliczyć wartość funkcji w punkcie x=0.5 metodą Ralstona’a
Założenia: war. pocz. y(0)=1, x należy do przedziału (0,4).
f ( xi , y i ) = −2 x 3 + 12 x 2 − 20 x + 8,5
Zgodnie z zależnościami (3.9)
3
⋅ 0,5 = 0,375
4
k1 = f (0) = 8,5
0+
k 2 = −2(0,375) 3 + 12(0,375) 2 − 20(0,375) + 8,5 = 2,58203125
Funkcja przyrostowa wynosi:
1
2
φ = ⋅ 8,5 + ⋅ 2,58203125 = 4,5546875
3
3
ostatecznie otrzymujemy
y (0,5) = 1 + 4,5546875(0,5) = 3,27734375
błąd procentowy wynosi
ε = 1,82%
x
y
0
0,5
1
1,5
2
2,5
3
3,5
4
y'
1
3,21875
3
2,21875
2
2,71875
4
4,71875
3
8,5
1,25
-1,5
-1,25
0,5
2,25
2,5
-0,25
-7,5
Politechnika Poznańska ®
Euler
1
5,25
5,875
5,125
4,5
4,75
5,875
7,125
7
Heun
1
3,4375
5,1875
5,1875
4,9375
5,1875
5,9375
6,4375
5,1875
RKRalston
RK-midpoint
1
3,109375
2,8125
1,984375
1,75
2,484375
3,8125
4,609375
3
0
0,5
1
1,5
2
2,5
3
3,5
4
1
3,277344
3,101563
2,347656
2,140625
2,855469
4,117188
4,800781
3,03125
Michał Płotkowiak, Adam Łodygowski
5
METODY KOMPUTEROWE
METODA RUNGEGO- KUTTY
dy
= −2 x 3 + 12 x 2 − 20 x + 8,5
dx
y = −0,5 x 4 + 4 x 3 − 10 x 2 + 8,5 x + 1
Metoda Rungego-Kutty
8
7
6
Y
5
4
3
2
1
Rozw. dokładne
0
Euler
0
0,5
1
1,5
2
2,5
3
3,5
4
4,5
Heun
RK-Midpoint
X
RK-Ralston
Metoda R-K rzędu IV
Metoda ta jest najbardziej popularna wśród metod RK.
Wzór na całkowanie równania różniczkowego ma postać:
1
y i +1 = y i + (k1 + 2k 2 + 2k 3 + k 4 )h
6
k1 = f ( xi , yi )
1
1
k 2 = f ( xi + h; y i + k1 h)
2
2
1
1
k 3 = f ( xi + h, y i + k 2 h)
2
2
Politechnika Poznańska ®
Michał Płotkowiak, Adam Łodygowski
(3.16)
(3.17)
(3.18)
METODY KOMPUTEROWE
6
METODA RUNGEGO- KUTTY
k 4 = f ( xi + h; y i + k 3 h)
(3.19)
Rys. 1. Graficzne przedstawienie metody RK IV rzędu
Metody RK rzędu V (Butcher 1964)
W metodzie RK V rzędu wzór na całkowanie ma postać:
y i +1 = y i +
1
(7k1 + 32k 3 + 12k 4 + 32k 5 + 7 k 6 )h
90
Im wyższy rząd metody tym większa jej dokładność.
Politechnika Poznańska ®
Michał Płotkowiak, Adam Łodygowski
(3.20)