Runge-Kutta modszerek (1901)
y ′ ( t ) y ( t 0 ) = f ( t , y ( t )) = y 0
∫ t n t n + 1 y ′ ( t ) d t = ∫ t n t n + 1 f ( t , y ( t )) d t
Newton-Leibniz:
y ( t n + 1 ) − y ( t n ) = ∫ 0 τ f ( t n + s , y ( t n + s )) d s
y ( t n + 1 ) = y ( t n ) + τ ⋅ ∫ 0 1 f ( t n + ξ τ , y ( t n + ξ τ )) d ξ
legyen a fenti kifejezesben f ( … ) = g ( ξ )
interpolaljuk a g ( ξ ) fuggvenyt: g ( ξ ) ≈ ∑ i = 1 s g ( c i ) ⋅ l i ( ξ )
y ( t n + 1 ) ≈ y ( t n ) + τ ⋅ ∫ 0 1 i = 1 ∑ s g ( c i ) ⋅ l i ( ξ ) d ξ = y ( t n ) + τ i = 1 ∑ s g ( c i ) ⋅ ∫ 0 1 l i ( ξ ) d ξ
legyen b i = ∫ 0 1 l i ( ξ ) d ξ
y ( t n + 1 ) ≈ y ( t n ) + τ ⋅ i = 1 ∑ s b i ⋅ f ( t n + c i τ , y ( t n + c i τ ))
na de itt meg mindig nem tudjuk az y ( t n + c i τ ) ertekeket mert a legkesobbi ertek amit tudunk az a y ( t n )
Megolda: Vegezzuk el a Runge-Kutta modszert ezekre a pontokra is.
osszesitve
y n + 1 Y n , i = y n + τ ⋅ i = 1 ∑ s b i ⋅ f ( t n + c i τ , Y n , i ) = y n + τ j = 1 ∑ s a ij ⋅ f ( t n + c j τ , Y n , j ) j = 1 , … , s
Amikor b i es a ij tetszolegesek akkor mar ugy nevezzuk, hogy s lepeses Runge-Kutta modszer (adott s ∈ N es c i ∈ [ 0 , 1 ] mellett)
pelda:
s = 1 , c 1 = 0 , b 1 = 1 , a 11 = 0
y n + 1 = y n + τ ⋅ i = 1 ∑ 1 b i ⋅ f ( t n + c i τ , Y n , i ) = y n + τ ⋅ b 1 ⋅ f ( t n + c 1 τ , Y n , 1 ) = y n + τ ⋅ f ( t n , Y n , 1 )
Y n , 1 = y n + τ ⋅ j = 1 ∑ s a ij f ( t n + c j τ , Y n , j ) = y n + 0
behelyettesitve a fentibe a most kijott eredmenyt
y n + 1 = y n + τ f ( t n , y n )
Es visszakaptuk az Explicit-Euler modszert!
Hogyan lesz egy Runge-Kutta modszer explicit?
Ha elkepzeljuk az A = ( a ij ) egyutthato matrixot akkor ha ez a matrix felso haromszog matrix akkor a kapott RK modszer explicit lesz.
Butcher tablo
c 1 c 2 ⋮ c s a 11 a 21 … a s 1 a 12 a 22 a s 2 … … … a 1 s a 2 s a ss [ b 1 b 2 … … b s ]
pelda:
Javitott Euler (Runge)
y n + 1 = y n + τ f ( t n + 2 τ , y n + 2 τ f ( t n , y n ) )