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.

Parametri di calcolo
Questo calcolatore ti è stato utile?

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?

E il piu semplice metodo numerico per risolvere un'equazione differenziale ordinaria y' = f(t,y) con condizione iniziale. Approssima la soluzione con la formula y_{n+1} = y_n + h f(t_n, y_n), avanzando a piccoli passi h lungo la direzione della pendenza data dall'equazione.

Che differenza c'e fra Eulero esplicito e implicito?

L'Eulero esplicito valuta la pendenza all'inizio del passo, y_{n+1} = y_n + h f(t_n,y_n), ed e semplice ma poco stabile. L'implicito la valuta alla fine, y_{n+1} = y_n + h f(t_{n+1},y_{n+1}), richiedendo di risolvere un'equazione a ogni passo ma offrendo stabilita molto superiore per problemi stiff.

Che ordine ha il metodo di Eulero?

Eulero esplicito e di ordine uno: l'errore globale e proporzionale al passo h, quindi dimezzando h si dimezza l'errore. I metodi di Heun e del punto medio sono di ordine due (errore proporzionale a h^2), molto piu accurati a parita di passo.

Cos'e un problema stiff?

E un'equazione in cui coesistono scale temporali molto diverse, con componenti che decadono rapidamente accanto ad altre lente. I metodi espliciti come Eulero richiedono passi minuscoli per restare stabili, mentre i metodi impliciti gestiscono questi problemi con passi molto piu grandi.

Cos'e il metodo di Heun?

E un metodo di ordine due detto anche Eulero migliorato: usa Eulero come predittore per stimare y_{n+1}, poi corregge mediando le pendenze all'inizio e alla fine del passo (regola dei trapezi). Raddoppia l'ordine di accuratezza rispetto a Eulero al costo di una valutazione in piu.

Come si stima l'errore senza la soluzione esatta?

Con l'estrapolazione di Richardson: si risolve il problema con passo h e con passo h/2 e si confrontano i risultati. La differenza, combinata con l'ordine noto del metodo, fornisce una stima quantitativa dell'errore ed e alla base del controllo adattivo del passo.

Che relazione c'e con Runge-Kutta?

I metodi di Eulero sono i casi piu semplici della famiglia Runge-Kutta a un passo: Eulero e l'ordine uno, Heun e il punto medio l'ordine due, il celebre RK4 l'ordine quattro. Aumentando le valutazioni di pendenza per passo si ottiene maggiore accuratezza.

Quando usare quale metodo?

Eulero esplicito per problemi semplici e didattici; Heun o punto medio quando serve piu accuratezza a basso costo; Eulero implicito per problemi stiff dove la stabilita e cruciale. Per applicazioni serie si passa a RK4 o a metodi adattivi come RKF45.

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)

Ancora nessun commento. Sii il primo!