Metodi di Runge Kutta

Messaggioda Ruci » 01/03/2011, 12:36

Ciao ragazzi...
Sono ancora qui per chiedervi un disperato aiuto! Io sono un chimico, quindi di analisi numerica ci capisco davvero ben poco...
Ho provato a capire qualcosa sui metodi di Runge Kutta (II e IV ordine), ma senza successo... anche su internet ho trovato poco...

Quello che volevo chiedervi è se potevate spiegarmi a parole il più semplice possibile il metodo di Runge Kutta II ordine in particolare il significato di K1 e K2 e come si ottiene y(n+1).

Per quanto riguarda il metodo di Runge Kutta del IV ordine mi accontento di sapere come si ottiene graficamente senza le formule!

Vi ringrazio davvero molto!
Ruci
New Member
New Member
 
Messaggi: 75
Iscritto il: 08/11/2006, 14:06

Messaggioda orazioster » 02/03/2011, 11:55

Eh! sul metodo del IV ordine... proprio
ieri cercavo un'interpretazione grafica, Ma poi smisi _mi sembrò non fosse poi così "utile".

E' molto più semplice un interpretazione grafica per quello "del secondo ordine", ovvero "di Heun" (legg. "Hoin").
In generale, considera la successione:
\( \displaystyle {y}_{{{i}+{1}}}={y}_{{i}}+{h}{A} \).

\( \displaystyle {A} \) è un coefficiente angolare.

Tutti i metodi di Runge-Kutta ottengono A come
combinazione lineare di valori calcolati di \( \displaystyle {f{{\left({x},{y}\right)}}} \) per
\( \displaystyle {x} \) compreso tra \( \displaystyle {x}_{{i}} \) ed \( \displaystyle {x}_{{{i}+{1}}} \), ed \( \displaystyle {y}{\left({x}\right)} \) di volta in volta approssimato
usando dei \( \displaystyle {K} \) già calcolati.

Nel metodo di Heun il coefficiente angolare A
è la media aritmetica tra \( \displaystyle {f{{\left({x}_{{i}},{y}_{{i}}\right)}}} \) ed
il valore per \( \displaystyle {f} \) che hai se conideri \( \displaystyle {x}={x}_{{{i}+{1}}} \) ed \( \displaystyle {y}{\left({x}_{{{i}+{1}}}\right)}={y}\text{*} \), cioè
una "\( \displaystyle {y} \)" approssimata calcolata come per il metodo
di Eulero esplicito, cioè \( \displaystyle {y}\text{*}={y}_{{i}}+{h}{f{{\left({x}_{{i}},{y}_{{i}}\right)}}} \).

\( \displaystyle {y}_{{{i}+{1}}}={y}_{{i}}+{h}{\left[\frac{{{f{{\left({x}_{{i}},{y}_{{i}}\right)}}}+{f{{\left({x}_{{{i}+{1}}},{y}_{{i}}+{f{{\left({x}_{{i}},{y}_{{i}}\right)}}}\right)}}}}}{{2}}\right]} \)

Graficamente: considera \( \displaystyle {x}_{{i}} \) ed \( \displaystyle {y}_{{i}} \) -che
hai dati; calcola il valore di \( \displaystyle {f{{\left({x}_{{i}},{y}_{{i}}\right)}}}={K}_{{1}} \).

Disegna la retta \( \displaystyle {r} \) che passa per \( \displaystyle {\left({x}_{{i}},{y}_{{i}}\right)} \) di coefficiente angolare \( \displaystyle {K}_{{1}} \).
Questa retta all'ascissa \( \displaystyle {x}_{{{i}+{1}}} \) avrà una ordinata che chiamerò appunto \( \displaystyle {y}\text{*} \).

Ora calcola \( \displaystyle {K}_{{2}}={f{{\left({x}_{{{i}+{1}}},{y}\text{*}\right)}}} \).

-Puoi ora "tirare" la retta verticale per il punto
a metà tra \( \displaystyle {x}_{{i}} \) ed \( \displaystyle {x}_{{{i}+{1}}} \).
Questa retta inersecherà la retta \( \displaystyle {r} \) in un punto.
Ora disegna la retta \( \displaystyle {r}' \) che passa per quel punto ed ha coefficiente angolare \( \displaystyle {K}_{{2}} \).
Il punto di intersezione tra \( \displaystyle {r}\text{*} \) e la retta verticale per \( \displaystyle {x}_{{{i}+{1}}} \) sarà il tuo \( \displaystyle {y}_{{{i}+{1}}} \).
orazioster
Average Member
Average Member
 
Messaggi: 941
Iscritto il: 10/07/2008, 09:41

Messaggioda zlatanzlatan » 02/05/2011, 16:13

errore gravissimooooooooo
zlatanzlatan
Starting Member
Starting Member
 
Messaggi: 5
Iscritto il: 21/04/2011, 19:06

Messaggioda vict85 » 03/05/2011, 12:36

zlatanzlatan ha scritto:errore gravissimooooooooo


Ora sono di fretta e non ho letto il post precedente comunque chi ha fatto l'errore gravissimo e quale sarebbe l'errore gravissimo. Il tuo post è inutile senza queste informazioni. Quando avrò tempo darò un'occhiata alla discussione e fornirò qualche informazione.

Personalmente ho trovato fatto bene il libro di Butcher "Numerical Methods for Ordinary Differential Equations" (faccio riferimento alla prima edizione anche se immagino anche la seconda sia buona). Anche se forse è un po' troppo avanzato per il problema in se.
vict85
Cannot live without
Cannot live without
 
Messaggi: 3385
Iscritto il: 16/01/2008, 00:13
Località: Torino


Torna a Analisi Numerica e Ricerca Operativa

Chi c’è in linea

Visitano il forum: Nessuno e 0 ospiti