Calcolatore Runge-Kutta (RK2, RK3, RK4, RK45 Fehlberg)
Calcolatore Runge-Kutta per ODE: RK2 Heun e punto medio, RK3 Kutta, RK4 classico (gold standard), RK45 Fehlberg adattivo con stima errore embedded built-in.
Segnala un errore di calcolo
Aiutaci a migliorare. Descrivi cosa non torna nel calcolo.
Risultato
| Voce | Valore |
|---|
Mostra dettagli completi
Condividi risultato
Disclaimer: questo calcolo ha valore puramente indicativo. Per decisioni importanti, consulta un professionista qualificato.
Metodi di Runge-Kutta per ODE
I metodi di Runge-Kutta sono una famiglia di algoritmi a un passo per integrare numericamente equazioni differenziali ordinarie y' = f(t,y). Sviluppati da Carl Runge (1895) e Wilhelm Kutta (1901), generalizzano il metodo di Eulero a stadi multipli per ottenere ordini di convergenza più alti.
Idea generale
Un metodo RK a s stadi calcola y_{n+1} = y_n + h * (b_1 k_1 + b_2 k_2 + ... + b_s k_s) dove k_i = f(t_n + c_i h, y_n + h sum_{j} a_{ij} k_j). I coefficienti a_ij, b_i, c_i sono organizzati nel "tableau di Butcher" e determinano l ordine. Costruzione: scegliere coefficienti che annullano i termini di Taylor fino all ordine voluto.
RK2 - Heun (ordine 2)
Predittore-correttore con 2 stadi: k1 = f(t_n, y_n), k2 = f(t_n + h, y_n + h k1), y_{n+1} = y_n + h (k1 + k2) / 2. Errore globale O(h^2). Costo: 2 valutazioni di f per passo. Tableau: c=[0,1], A=[[0,0],[1,0]], b=[1/2, 1/2].
RK2 - Punto medio (ordine 2)
k1 = f(t_n, y_n), k2 = f(t_n + h/2, y_n + h/2 k1), y_{n+1} = y_n + h k2. Equivalente a Heun in ordine ma con peso solo su k2. Stabile per oscillazioni.
RK3 - Kutta (ordine 3)
3 stadi: k1, k2 = f(t+h/2, y+h/2 k1), k3 = f(t+h, y - h k1 + 2 h k2). Aggiornamento: y + h (k1 + 4 k2 + k3) / 6. Errore O(h^3). Costo 3 valutazioni. Compromesso intermedio tra RK2 e RK4.
RK4 classico (ordine 4) - Gold standard
4 stadi: k1 = f(t,y), k2 = f(t+h/2, y+h/2 k1), k3 = f(t+h/2, y+h/2 k2), k4 = f(t+h, y+h k3). Aggiornamento: y_{n+1} = y_n + h (k1 + 2 k2 + 2 k3 + k4) / 6. Errore globale O(h^4). Standard de facto in fisica computazionale, simulazioni planetarie, dinamica molecolare.
RK45 Fehlberg (adattivo, ordine 4-5)
Embedded RK: calcola simultaneamente RK4 (y_4) e RK5 (y_5) con stesso set di k1,...,k6 (6 valutazioni). Stima errore: |y_5 - y_4|. Adatta automaticamente h: se errore tol, riduce h. Default in scipy.integrate.RK45.
Convergenza e ordine
L errore globale di un metodo RK di ordine p e O(h^p). Dimezzando h, errore diminuisce di 2^p. Per RK4: errore /16 a ogni dimezzamento. Tradeoff: ordine alto = più valutazioni di f ma h più grande possibile. Costo per accuratezza: RK4 ottimo per ODE lisce; RK45 adattivo migliore per regimi misti.
Stabilità
Regione di stabilità di un metodo: insieme di z = h*lambda nel piano complesso dove |y_{n+1}/y_n| < 1 per y' = lambda y. RK4 ha regione finita estesa nel semipiano sinistro; non e A-stabile (la regione non include tutto il semipiano). Per problemi stiff servono metodi impliciti (BDF, Radau, Rosenbrock).
Confronto pratico
Per y' = -y, y(0) = 1, T = 10 (esatta = e^-10 ~ 4.54e-5):
- Eulero esplicito h=0.1 (100 passi): errore 4%
- RK2 Heun h=0.1: errore 0.06%
- RK3 h=0.1: errore 5e-5%
- RK4 h=0.1: errore 4e-7%
- RK45 adattivo: ~5 passi, errore < tol specificato
Tableau di Butcher
Notazione compatta per coefficienti RK: matrice A (triangolare strettamente inferiore per metodi espliciti), vettore b (pesi), vettore c (nodi). Esempio RK4 classico:
- c = [0, 1/2, 1/2, 1]
- A: a_21 = 1/2, a_32 = 1/2, a_43 = 1, altri zero
- b = [1/6, 1/3, 1/3, 1/6]
Verifica consistenza: sum(b_i) = 1, sum(b_i c_i) = 1/2, ecc.
Metodi RK avanzati
- RK45 Fehlberg, Cash-Karp, Dormand-Prince: stima errore embedded.
- RK Gauss-Legendre: A-stabile, ordine massimo per s stadi (impliciti).
- Rosenbrock: linearmente impliciti, per stiff.
- Verlet, Stoermer-Verlet: simplettici per Hamiltoniani.
- Bogacki-Shampine: efficienti per ODE non stiff.
Storia
Carl Runge 1895 (Math. Annalen) introduce metodi a 2 stadi. Wilhelm Kutta 1901 generalizza a ordine 4 e oltre. Erwin Fehlberg 1969 (NASA TR) introduce coppie embedded per controllo passo. Dormand-Prince 1980 perfezionano coefficienti. Hairer, Norsett, Wanner "Solving ODEs" 1987-1996 monografia di riferimento.
Modalita del calcolatore
Cinque metodi RK (RK2 Heun e punto medio, RK3, RK4 classico, RK45 Fehlberg adattivo) e sei ODE classiche. Output: y(T), errore vs soluzione esatta, traiettoria campionata, stima ordine empirico (raddoppiando N e confrontando).
Le condizioni d'ordine e la barriera di Butcher
Perche un metodo di Runge-Kutta raggiunga un dato ordine di accuratezza, i suoi coefficienti devono soddisfare un insieme preciso di equazioni algebriche dette condizioni d'ordine. La piu semplice, la consistenza, richiede che la somma dei pesi b_i valga 1; per l'ordine due si aggiunge la condizione sui momenti dei nodi, e per ordini superiori il numero di condizioni cresce rapidamente. John Butcher formalizzo questa teoria negli anni Sessanta collegando ogni condizione a un albero radicato, uno strumento combinatorio elegante che conta e organizza i vincoli.
Fino all'ordine quattro esiste un metodo con esattamente tanti stadi quanto l'ordine, ed e per questo che RK4 usa quattro valutazioni. Oltre l'ordine quattro interviene pero la barriera di Butcher: nessun metodo esplicito di ordine cinque puo avere solo cinque stadi, ne serve almeno sei, e per ordini ancora piu alti il divario cresce. Questa limitazione teorica spiega perche RK4 rappresenti un punto di equilibrio cosi favorevole fra accuratezza e costo computazionale.
Dormand-Prince e i solver moderni
Il metodo di Fehlberg RK45 fu il primo schema embedded a diventare popolare, ma oggi lo standard de facto e la coppia di Dormand-Prince (DP54), usata dal solver ode45 di MATLAB e dal metodo RK45 di SciPy. Come RKF45 calcola simultaneamente una stima di ordine quattro e una di ordine cinque per controllare l'errore, ma i suoi coefficienti sono ottimizzati per minimizzare l'errore della soluzione di ordine cinque, che e quella effettivamente propagata.
Dormand-Prince gode inoltre della proprieta FSAL (First Same As Last): l'ultima valutazione di un passo coincide con la prima del successivo, risparmiando una valutazione di funzione per passo. Molti solver moderni offrono anche l'output denso, un'interpolazione che fornisce la soluzione in qualsiasi punto fra i nodi senza ridurre il passo. Questi raffinamenti, tutti figli dell'idea originale di Runge e Kutta, rendono i solver adattivi lo strumento standard per le ODE nella scienza computazionale.
Aggiornato a luglio 2026
Domande frequenti
Cosa sono i metodi di Runge-Kutta?
Cos'e il metodo RK4 classico?
Cosa significa ordine di un metodo?
Cos'e un metodo adattivo come RK45?
Cos'e il tableau di Butcher?
Perche RK4 usa esattamente quattro stadi?
Che differenza c'e con il metodo di Eulero?
Quale solver si usa nella pratica?
Formula
RK4: k1=f(t,y), k2=f(t+h/2, y+h k1/2), k3=f(t+h/2, y+h k2/2), k4=f(t+h, y+h k3). y_{n+1} = y_n + h(k1+2k2+2k3+k4)/6. Errore globale O(h^4).
Commenti (0)
Accedi per lasciare un commento.
Ancora nessun commento. Sii il primo!