Runge-Kutta metodoa

Runge-kutta metodoa ekuazio diferentzialen ebazpenerako zenbakizko metodo mota orokorra da. Metodo multzo hau, hasiera batean, C. Runge eta M. W. Kutta matematikariek 1900 urtearen inguruan garatu zuten.

Deskribapena

Runge-kutta metodoek (RK) ekuazio diferentzial arrunten soluzioen hurbilketarako iteraziozko metodo (esplizitu eta inplizitu) multzoa osatzen dute, zehazki, hasierako balioko problemaren ebazpenerako metodoak.

Izan bedi

y ( t ) = f ( t , y ( t ) ) {\displaystyle y'(t)=f(t,y(t))\,}

Ekuazio diferentzial arrunta, f : Ω R × R n R n {\displaystyle f:\Omega \subset \mathbb {R} \times \mathbb {R} ^{n}\to \mathbb {R} ^{n}} , non Ω {\displaystyle \Omega \,} multzo irekia den, eta f {\displaystyle f} ren hasierako balioak

( t 0 , y 0 ) Ω . {\displaystyle (t_{0},y_{0})\in \Omega .}

betetzen du.


Kasu horretan ("s" etapako) RK metodoak, orokorrean, honako itxura du:

y n + 1 = y n + h i = 1 s b i k i {\displaystyle y_{n+1}=y_{n}+h\,\sum _{i=1}^{s}b_{i}k_{i}} ,

non h iterazio bakoitzeko urrats-luzera den, edo beste era batera esateko, t n {\displaystyle t_{n}} eta t n + 1 {\displaystyle t_{n+1}} ondoz ondoko puntuen arteko Δ t n {\displaystyle \Delta t_{n}} gehikuntza. k i {\displaystyle k_{i}} koefizienteak tarteko hurbilketa puntuetan egindako f {\displaystyle f} funtzioaren balioztatzeak dira

k i = f ( t n + h c i , y n + h j = 1 s a i j k j ) i = 1 , . . . , s . {\displaystyle k_{i}=f\left(t_{n}+h\,c_{i}\,,y_{n}+h\,\sum _{j=1}^{s}a_{ij}k_{j}\right)\quad i=1,...,s.}

Horrela, a i j , b i , c i {\displaystyle a_{ij},b_{i},c_{i}} koefizienteek aukeratutako metodoa zehazten dute eta erabilitako zenbakizko integrazioaren araberako balioak dira. Runge-kutta eskemak, a i j {\displaystyle a_{ij}} konstanteen arabera, inplizituak edo esplizituak izan daitezke. a i j {\displaystyle a_{ij}} balioek osatutako matrizea behe triangeluarra bada, eta diagonal nagusiko balioak zero badira, hau da, a i j = 0 {\displaystyle a_{ij}=0} betetzen bada j = i , . . . , s {\displaystyle j=i,...,s} guztientzat, metodoa esplizitua da.

Adibidea

Bi etapatako Runge-kutta eskema: lehenengo etapa t = t n {\displaystyle t=t_{n}} unean eta bestea t = t n + Δ t n {\displaystyle t=t_{n}+\Delta t_{n}} unean.

Lehenengo etapan f ( t , y ( t ) ) {\displaystyle f(t,y(t))} honakoa da:

f n = k 1 = f ( t n , y n ) {\displaystyle f_{n}=k_{1}=f(t_{n},y_{n})\,}

eta t = t n + Δ t n {\displaystyle t=t_{n}+\Delta t_{n}} unean f ( t , y ( t ) ) {\displaystyle f(t,y(t))} hurbiltzeko Eulerren eskema erabil dezakegu:

f n + 1 = k 2 = f ( t n + Δ t n , y n + Δ t n k 1 ) {\displaystyle f_{n+1}=k_{2}=f(t_{n}+\Delta t_{n}\,,y_{n}+\Delta t_{n}k_{1})\,}

f {\displaystyle f} funtzioaren balioztatze hauek y n + 1 = y n + t n t n + 1 f ( t , y ( t ) ) d t {\displaystyle y_{n+1}=y_{n}+\int _{t_{n}}^{t_{n+1}}f(t,y(t))\,dt} ekuazioan ordezkatuz honako espresioa lortuko dugu:

y n + 1 = y n + Δ t n 2 ( k 1 + k 2 ) {\displaystyle y_{n+1}=y_{n}+{{\Delta t_{n}} \over 2}(k_{1}+k_{2})}

Eskema honen koefizienteak, beraz, b 1 = b 2 = 1 / 2 ; a 21 = 1 ; c 2 = 1. {\displaystyle b_{1}=b_{2}=1/2;\;a_{21}=1;\;c_{2}=1.} dira.

Aldaerak

Runge-kutta metodo klasikoen edo Runge-Kutta esplizitu gisa ezagutzen diren metodoen aldaerak existitzen dira, esate baterako, prozeduraren bertsio inplizitua edota Runge-Kutta metodo bikoteak (edo Runge-kutta-fehlberg metodoak).

Bikoteen kasuan soluzioaren bi hurbilketa lortzen dira, bakoitza ordena ezberdineko metodoa erabiliz, baina bi metodoek hasierako etapa berdinak erabiltzen dituzte eta orokorrean b i {\displaystyle b_{i}} koefizienteetan bereizten dira (posible da metodo batek besteak baino etapa gehiago edukitzea). Bi hurbilketen arteko diferentziak urrats bakoitzeko errorearen neurria ezagutzeko informazioa eman diezaguke, eta informazio hori erabil daiteke hurrengo urrats-luzera egokia aukeratzeko.

Runge-Kutta metodoak

Runge-kutta metodoek iteraziozko metodoen familia garrantzitsua osatzen dute eta inplizituak edo esplizituak izan daitezke. Ekuazioa diferentzial arrunten soluzioak hurbiltzen dituzte eta 1900 urtearen inguruan Carl David Tolmé Runge eta Martin Wilhelm Kutta matematikari alemanek garatu zituzten teknika hauek.

Lau ordenako Runge-kutta metodoa

Runge-Kutta metodoen arteko bat oso erabilia da, horregatik "Runge-Kutta metodoa" edo "RK4" izenek metodo horri egiten diote erreferentzia.

Hasierako balioaren problema bat defini dezagun:

y = f ( t , y ) , y ( t 0 ) = y 0 {\displaystyle y'=f(t,y),\quad y(t_{0})=y_{0}}

Orduan problema honentzat RK4 metodoa hurrengo ekuazioak adierazten du:

y i + 1 = y i + 1 6 ( k 1 + 2 k 2 + 2 k 3 + k 4 ) h {\displaystyle y_{i+1}=y_{i}+{1 \over 6}(k_{1}+2k_{2}+2k_{3}+k_{4})h}

Non

k 1 = f ( t i , y i ) {\displaystyle k_{1}=f\left(t_{i},y_{i}\right)}
k 2 = f ( t i + 1 2 h , y i + 1 2 k 1 h ) {\displaystyle k_{2}=f\left(t_{i}+{1 \over 2}h,y_{i}+{1 \over 2}k_{1}h\right)}
k 3 = f ( t i + 1 2 h , y i + 1 2 k 2 h ) {\displaystyle k_{3}=f\left(t_{i}+{1 \over 2}h,y_{i}+{1 \over 2}k_{2}h\right)}
k 4 = f ( t i + h , y i + k 3 h ) {\displaystyle k_{4}=f\left(t_{i}+h,y_{i}+k_{3}h\right)}

Honela, hurrengo y n + 1 {\displaystyle y_{n+1}} balioa une honetako y n {\displaystyle y_{n}} balioak eta h {\displaystyle h} urrats-luzera eta malda estimatuaren arteko biderketak zehazten dute. Malda hainbat malden batezbesteko haztatua da.

k 1 {\displaystyle k_{1}} hasierako uneko malda da.

k 2 {\displaystyle k_{2}} tartearen erdiko puntuko malda da. Tartearen erdian, t n + h 2 {\displaystyle t_{n}+{\frac {h}{2}}} unean, y {\displaystyle y} balioa lortzeko k 1 {\displaystyle k_{1}} malda erabili da Eulerren metodoaren aplikazioan

k 3 {\displaystyle k_{3}} berriz ere tartearen erdiko puntuko malda da, baina oraingoan Eulerren metodoaren aplikazioan k 2 {\displaystyle k_{2}} malda erabili da y {\displaystyle y} kalkulatzeko.

k 4 {\displaystyle k_{4}} tartearen bukaerako malda da, eta y {\displaystyle y} balioa lortzeko k 3 {\displaystyle k_{3}} malda erabili da.

Lau maldak haztatzean tarteko puntuetako maldei pisu handiagoa ematen zaie:

malda = k 1 + 2 k 2 + 2 k 3 + k 4 6 . {\displaystyle {\mbox{malda}}={\frac {k_{1}+2k_{2}+2k_{3}+k_{4}}{6}}.}

Runge-kutta metodoaren forma hau lau ordenako metodoa da, horrek esan nahi du urrats bakoitzean egindako errorea O ( h 5 ) {\displaystyle O(h^{5})} neurrikoa dela eta prozesu osoan metatutako errorea O ( h 4 ) {\displaystyle O(h^{4})} ordenakoa dela.

Ikus, gainera

  • Eulerren metodoa

Erreferentziak

Kanpo estekak

  • (Ingelesez) Weisstein, Eric W.: "Runge-Kutta Method" MathWorld-en.
  • TEMA 1 Problemas de Valor Inicial para Ecuaciones Diferenciales Ordinarias: Métodos Numéricos de un paso.
Autoritate kontrola
  • Wikimedia proiektuak
  • Wd Datuak: Q725944
  • Commonscat Multimedia: Runge-Kutta methods / Q725944

  • Wd Datuak: Q725944
  • Commonscat Multimedia: Runge-Kutta methods / Q725944