Calcolatore Metodo di Eulero per ODE (Esplicito, Implicito, Heun)
Calcolatore metodi di Eulero per ODE y' = f(t,y): Eulero esplicito, implicito, Heun e punto medio. Convergenza ordine 1-2, esempi logistici e cooling.
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 Eulero per equazioni differenziali ordinarie
I metodi di Eulero sono la classe più semplice di algoritmi per risolvere numericamente equazioni differenziali ordinarie (ODE) della forma y' = f(t,y), y(t_0) = y_0. Sviluppati da Leonhard Euler nel 1768 (Institutiones Calculi Integralis), sono il punto di partenza dell analisi numerica delle ODE.
Eulero esplicito (Forward Euler)
Formula: y_{n+1} = y_n + h f(t_n, y_n) dove h = (T - t_0)/N e il passo di integrazione. Convergenza globale di ordine 1: errore = O(h). Veloce ed economico ma poco accurato. Instabile per problemi stiff o ODE oscillanti.
Eulero implicito (Backward Euler)
Formula: y_{n+1} = y_n + h f(t_{n+1}, y_{n+1}). Richiede risolvere equazione implicita ad ogni passo (iterazione di punto fisso o Newton). Costo doppio per iter, ma A-stabile: nessun limite su h per stabilità. Ideale per ODE stiff.
Metodo di Heun (Eulero migliorato)
Predittore-correttore: predittore Eulero esplicito y* = y_n + h f(t_n, y_n), correttore trapezi y_{n+1} = y_n + h/2 (f(t_n, y_n) + f(t_{n+1}, y*)). Ordine 2: errore = O(h^2). Costo: 2 valutazioni per passo. Compromesso ottimo accuratezza/costo.
Punto medio (Modified Euler)
Formula: k1 = f(t_n, y_n), y_{n+1} = y_n + h f(t_n + h/2, y_n + h/2 k1). Ordine 2 come Heun. Stabile per ODE oscillanti. Variante di Runge-Kutta a due stadi.
Convergenza globale e ordine
L errore di troncamento locale per Eulero esplicito e -h^2/2 y''(xi) per qualche xi. Sommando N = (T-t0)/h passi, errore globale = O(h). Per Heun e punto medio, errore globale = O(h^2). Runge-Kutta classico (RK4) raggiunge O(h^4). Tradeoff: ordine alto = più valutazioni di f per passo, ma h più grande possibile.
Stabilità
Per y' = lambda y (test problem), Eulero esplicito e stabile solo se |1 + h lambda| < 1, cioè h < 2/|lambda| per lambda reale negativo. Eulero implicito A-stabile: |1/(1 - h lambda)| < 1 per Re(lambda) < 0 sempre. Per ODE stiff (rapporto autovalori grande), implicito e essenziale.
Problemi stiff
ODE stiff hanno scale temporali molto diverse (es. dinamica chimica con reazioni veloci e lente). Eulero esplicito richiede h piccolissimo per stabilità, anche se la soluzione varia poco. Implicito non ha questo limite. Esempio: equazione di Robertson y'_1 = -0.04 y_1 + 1e4 y_2 y_3 (stiff per costanti molto diverse).
ODE notevoli
- Decadimento esponenziale: y' = -k y, soluzione y = y_0 exp(-k t).
- Crescita logistica: y' = r y (1 - y/K), saturazione a K.
- Newton cooling: T' = -k (T - T_amb), tendenza a T_amb.
- Riccati: y' = y^2 - t, no soluzione elementare.
- Lotka-Volterra (sistema): preda-predatore.
- Oscillatore armonico: y'' + y = 0 (sistema 2x2).
Confronto numerico
Per y' = -y, y(0) = 1, T = 5 (esatta y(5) = e^-5 ~ 0.006738):
- Eulero esplicito h=0.1 (50 passi): y_50 ~ 0.005154 (errore 24%)
- Eulero esplicito h=0.01 (500 passi): y_500 ~ 0.006568 (errore 2.5%)
- Heun h=0.1: y_50 ~ 0.006740 (errore 0.03%)
- RK4 h=0.1: y_50 ~ 0.006738 (errore 1e-7%)
Quando usare quale metodo
- Eulero esplicito: didattico, ODE non stiff, h piccolo accettabile.
- Eulero implicito: ODE stiff (chimica, fluidi, equilibri).
- Heun: codice educativo, accuratezza media.
- RK4 (non in questo calcolatore): standard pratico per ODE non stiff.
- Adattivi (RK45, RK23): ODE con velocità variabili.
Storia
Leonhard Euler 1768 introduce il metodo nel suo "Institutiones Calculi Integralis". Cauchy 1840 dimostra rigorosamente la convergenza. Heun 1900 e Kutta 1901 estendono a ordini superiori. Dahlquist 1956 introduce concetto di A-stabilità. Software moderni (LSODE, scipy.integrate.solve_ivp) includono dozzine di metodi specializzati.
Modalita del calcolatore
Sei ODE classiche (decadimento, logistica, oscillatore, Riccati, raffreddamento, Verhulst) con quattro metodi (Eulero esp/imp, Heun, punto medio). Inserisci y0, intervallo [t0, T], numero passi e parametri. Output: y(T), errore vs soluzione esatta (quando disponibile), traiettoria campionata.
Errore locale e globale: da dove viene l'ordine
La distinzione fra errore locale e globale spiega perche il metodo di Eulero esplicito e detto di ordine uno. L'errore locale di troncamento e l'errore commesso in un singolo passo, assumendo esatto il valore di partenza: sviluppando in serie di Taylor la soluzione, si vede che Eulero trascura il termine (h^2/2) y'', quindi il suo errore locale e proporzionale a h^2. L'errore globale, accumulato su tutto l'intervallo diviso in circa 1/h passi, e invece proporzionale a h: dimezzando il passo si dimezza l'errore finale.
I metodi di ordine due, come Heun e il punto medio, cancellano anche il termine quadratico e hanno errore locale h^3 e globale h^2: dimezzando h l'errore si riduce a un quarto. Un modo pratico per stimare l'errore senza conoscere la soluzione esatta e l'estrapolazione di Richardson, che confronta i risultati ottenuti con due passi diversi (h e h/2) per dedurre l'ordine effettivo e una stima quantitativa dell'errore.
Verso Runge-Kutta: la scala dei metodi a un passo
I metodi di Eulero sono i primi gradini di una gerarchia piu ampia, quella dei metodi di Runge-Kutta a un passo. Eulero esplicito e il Runge-Kutta di ordine uno; il punto medio e il metodo di Heun sono varianti di ordine due che valutano la pendenza in punti intermedi per raddoppiare la precisione. Il celebre RK4, di ordine quattro, combina quattro valutazioni per passo e offre un eccellente compromesso fra accuratezza e costo, ed e il cavallo di battaglia della risoluzione numerica di ODE.
Il passo successivo e il controllo adattivo del passo: metodi come Runge-Kutta-Fehlberg (RKF45) calcolano contemporaneamente una stima di ordine quattro e una di ordine cinque, e dalla loro differenza deducono l'errore locale, adattando automaticamente h per mantenerlo sotto una soglia. Cosi il solver usa passi grandi dove la soluzione e liscia e passi piccoli dove varia rapidamente, ottimizzando il numero di valutazioni: un'idea che discende direttamente dai semplici metodi di Eulero.
Aggiornato a luglio 2026
Domande frequenti
Cos'e il metodo di Eulero?
Che differenza c'e fra Eulero esplicito e implicito?
Che ordine ha il metodo di Eulero?
Cos'e un problema stiff?
Cos'e il metodo di Heun?
Come si stima l'errore senza la soluzione esatta?
Che relazione c'e con Runge-Kutta?
Quando usare quale metodo?
Formula
Eulero esplicito: y_{n+1} = y_n + h f(t_n, y_n), ordine 1. Eulero implicito: y_{n+1} = y_n + h f(t_{n+1}, y_{n+1}), A-stabile. Heun: y_{n+1} = y_n + h/2 (f(t_n,y_n) + f(t_{n+1},y_n+h f(t_n,y_n))), ordine 2.
Commenti (0)
Accedi per lasciare un commento.
Ancora nessun commento. Sii il primo!