PDA

View Full Version : [MATLAB] Metodo di Eulero modificato (Runge-Kutta ordine 2)


Razos
17-11-2013, 15:14
Salve a tutti .
Sono bloccato al secondo step di un algoritmo che dovrebbe calcolare la soluzione approssimata di un generico problema di Cauchy con il metodo descritto nel titolo.
Il problema è il seguente :
_
| y' = f(x,y)
| y(a) = y0
_

Il metodo di Eulero modificato (Runge-Kutta di ordine 2) è il seguente :
http://i42.tinypic.com/vn2dlh.jpg

_______

Sperando di non aver sbagliato proprio a livello concettuale , ho pensato di strutturare il problema in Matlab nel modo seguente :
• t0, tmax estremi dell'intervallo
•N numero di intervalli in cui valutare la funzione
quindi

t0 = int (1) ;
tmax = int (2) ;
h =((tmax-t0)/N) ;

T = [t0 : h : tmax] ;
for i=1:N
k1 = feval (funzione , x(i) , y(i, :) ) ;


Lo step successivo è un'altra valutazione (feval) della funzione ?
Con quali condizioni da verificare prima ?

Spero possiate aiutarmi , vi ringrazio in anticipo.

kwb
17-11-2013, 21:39
Ciao!
Ho seguito un corso su calcolo numerico in cui abbiamo trattato anche gli algoritmi R-K.
Ovviamente non ricordo più nulla ne di come funzioni R-K ne di MATLAB.
Quello che posso fare, se ti interessa, è passarti gli script matlab che avevamo a disposizione ( R-K 1, R-K 2, R-K 3 e R-K 4 )

kwb
17-11-2013, 22:59
e che l'hai seguito a fare il corso? :D

lol.. Qualcosa ho imparato ma non praticando mai MATLAB e non avendo la necessità di usare questi metodi, diventa difficile ricordarsi le cose.
Tra l'altro i metodi RK me li ricordo complicatissimi dal punto di vista matematico, quindi non era nemmeno facile

Inviato dal mio Samsung Galaxy S IV

Razos
18-11-2013, 07:57
Quello che posso fare, se ti interessa, è passarti gli script matlab che avevamo a disposizione ( R-K 1, R-K 2, R-K 3 e R-K 4 )
Grazie per la risposta kwb.
Girando in rete si trova qualche esempio già svolto (soprattutto nel materiale didattico di alcune facoltà) , ma non è applicabile al problema posto da me :cry:
Ho trovato esempi in Matlab di R-K dei primi 4 ordini , Newton , Eulero esplicito/implicito ed altri metodi one-step , ma spesso risolvono funzioni specifiche e non problemi generici .
In particolare non ricordo il collegamento ma ho trovato un .rar contenente tutti questi esempi chiamato Eq_diff_ord_onestep .
Sono ancora in alto mare , e spero che questo blocco non derivi da una lacuna concettuale ...