Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Metodo di Runge - Kutta

Analisi, geometria, algebra, topologia...

Moderatori: Foto UtentePietroBaima, Foto UtenteIanero

0
voti

[1] Metodo di Runge - Kutta

Messaggioda Foto UtenteAntofilo » 19 mar 2012, 19:25

Salve a tutti.
Avrei bisogno di un aiuto circa l'analisi numerica delle equazioni differenziali, in particolare sul metodo RK.
Credo di aver capito, in teoria, cos'è, ma il credere di non saperlo applicare mi suona come campanello di allarme! Potete aiutarmi, per esempio, nella risoluzione della seguente equazione differenziale con relativa condizione iniziale?

y' = -y + x
y(0) = 1, nell'intervallo [0,1]

Scelgo io il valore di h, pari a h = 0.1.
Se non ho capito male, dovrei applicar la seguente formula:

y_i_+_1 = y_i + h/2 f(x_i,y_i) + h/2 f(x_i_+_1, y_i  + hf(x_i, y_i))
Posso dividere il mio calcolo in 3 step;

K_0 = hf(x_i,y_i)
K_1 = hf(x_i_+_1, y_i + K_0)
così da poter scrivere
y_i_+_1 = y_i + 1/2 (K_0 + K_1)

E' esatto il mio ragionamento?
PS. anche se è esatto (ne dubito) potete consigliarmi se esiste, un altro modo di ragionare per risolvere questi problemi?
Grazie
Avatar utente
Foto UtenteAntofilo
27 4
New entry
New entry
 
Messaggi: 67
Iscritto il: 19 gen 2012, 17:39

1
voti

[2] Re: Metodo di Runge - Kutta

Messaggioda Foto UtenteDirtyDeeds » 19 mar 2012, 23:22

Mi sembra corretto. In ogni caso, poiché quell'equazione differenziale è risolvibile anche in modo analitico, hai un modo semplice per controllare se la soluzione numerica viene corretta (tenedo conto dell'approssimazione della soluzione numerica) ;-)

PS: la derivata scrivila come

Codice: Seleziona tutto
y^\prime = -y + x


y^\prime = -y + x
It's a sin to write sin instead of \sin (Anonimo).
...'cos you know that cos ain't \cos, right?
You won't get a sexy tan if you write tan in lieu of \tan.
Take a log for a fireplace, but don't take log for \logarithm.
Avatar utente
Foto UtenteDirtyDeeds
55,9k 7 11 13
G.Master EY
G.Master EY
 
Messaggi: 7012
Iscritto il: 13 apr 2010, 16:13
Località: Somewhere in nowhere

0
voti

[3] Re: Metodo di Runge - Kutta

Messaggioda Foto UtenteAntofilo » 20 mar 2012, 0:50

Ti ringrazio per la risposta. Proverò al più presto a controllare come mi hai consigliato Tu, ma non so se riesco stanotte. Comunque, potresti spiegarmi un po' il metodo di Runge Kutta?

Grazie
Avatar utente
Foto UtenteAntofilo
27 4
New entry
New entry
 
Messaggi: 67
Iscritto il: 19 gen 2012, 17:39

4
voti

[4] Re: Metodo di Runge - Kutta

Messaggioda Foto Utentedimaios » 20 mar 2012, 13:04

Non capisco dove hai preso le formule che hai riportato.
In generale l'algoritmo di Runge-Kutta del secondo ordine denominato anche midpoint method prevede i seguenti passi.

k_{1} = h \cdot f(x_{n},y_{n})
k_{2} = h \cdot f(x_{n} + \frac{1}{2} \cdot h ,y_{n} + \frac{1}{2} \cdot k_{1})
y_{n+1} = y_{n} + k_{2} + O(h^{3})

In queste dispense http://www.dpa.unina.it/demarco/docs/app_sdqv_cap_2.pdf al paragrafo 2.2 troverai un'ottima spiegazione dell'algoritmo anche dal punto di vista grafico.

L'algoritmo Runge Kutta più utilizzato è comunque l' RK4 che consta di un numero superiore di passi. La spiegazione la trovi nel medesimo documento al paragrafo 2.3.

Antofilo ha scritto:.....comunque, potresti spiegarmi un po' il metodo di Runge Kutta?


La spiegazione più convincente che ho trovato è riportata nel seguente libro :

Schaum's outline of theory and problems of numerical analysis
Di Francis J. Scheid

A pagina 201 inizia una discussione interessante che illustra come risolvere l'equazione differenziale facendo uso dello sviluppo in serie di Taylor.

Ci si rende subito conto che il calcolo delle derivate superiori dello sviluppo in serie non è agevole e computazionalmente sconveniente per cui si cerca una soluzione che approssimi con lo stesso ordine di infinitesimo dello sviluppo in serie ma non necessiti il calcolo delle derivate superiori.
Il metodo di Runge Kutta provvede uno schema algoritmico che utilizza unicamente la funzione f(x,y) evitando il calcolo esplicito delle derivate.

ATTENZIONE : Il fatto che l'ordine di infinitesimo di RK4 sia il medesimo della corrispondente serie di Taylor opportunamente troncata non significa che diano lo stesso risultato ma che l'errore dovuto all'approssimazione converge a zero con determinate caratteristiche quando il passo di integrazione tende a zero.

Nel medesimo libro continuando la lettura viene fatto un esempio che illustra praticamente quanto ti ho espresso nella nota.
Il testo costa meno di 20 euro e contiene una serie di esercizi molto interessanti.
Ingegneria : alternativa intelligente alla droga.
Avatar utente
Foto Utentedimaios
30,2k 7 10 12
G.Master EY
G.Master EY
 
Messaggi: 3381
Iscritto il: 24 ago 2010, 14:12
Località: Behind the scenes

1
voti

[5] Re: Metodo di Runge - Kutta

Messaggioda Foto UtenteDirtyDeeds » 20 mar 2012, 14:42

dimaios ha scritto:Non capisco dove hai preso le formule che hai riportato.


Abramowitz and Stegun, 25.5.6, p. 896.
It's a sin to write sin instead of \sin (Anonimo).
...'cos you know that cos ain't \cos, right?
You won't get a sexy tan if you write tan in lieu of \tan.
Take a log for a fireplace, but don't take log for \logarithm.
Avatar utente
Foto UtenteDirtyDeeds
55,9k 7 11 13
G.Master EY
G.Master EY
 
Messaggi: 7012
Iscritto il: 13 apr 2010, 16:13
Località: Somewhere in nowhere

2
voti

[6] Re: Metodo di Runge - Kutta

Messaggioda Foto Utentedimaios » 20 mar 2012, 16:07

Ok Foto UtenteDirtyDeeds. Ho riguardato il link Abramowitz and Stegun, 25.5.6, p. 896.

Secondo me c'è un piccolo fraintendimento nella nomenclatura.
Sotto il nome "Metodi Runge-Kutta" rientrano una lista abbastanza folta di algoritmi.

http://en.wikipedia.org/wiki/List_of_Runge%E2%80%93Kutta_methods

In realtà la formula riportata è quella relativa al metodo di Eulero-Heun.
http://calculuslab.deltacollege.edu/ODE/7-C-2/7-C-2-h.html

E come inquadramento negli algoritmi predictor-corrector.
http://calculuslab.deltacollege.edu/ODE/7-C-3/7-C-3-h.html

Era solo una considerazione di dettaglio non di sostanza sulla validità della formula.
Ingegneria : alternativa intelligente alla droga.
Avatar utente
Foto Utentedimaios
30,2k 7 10 12
G.Master EY
G.Master EY
 
Messaggi: 3381
Iscritto il: 24 ago 2010, 14:12
Località: Behind the scenes


Torna a Matematica generale

Chi c’è in linea

Visitano il forum: Nessuno e 6 ospiti