Calcolatore del metodo di Eulero
Inserisci dy/dx = f(x, y), un punto iniziale e un valore finale, e ottieni la soluzione approssimata con il metodo di Eulero, con il metodo di Eulero migliorato (Heun) o con Runge–Kutta del quarto ordine. Ricevi la tabella completa di ogni passo con tutte le pendenze usate, l'errore rispetto alla soluzione esatta (o a un riferimento accurato), che cosa succede quando il passo viene dimezzato e un grafico del campo di pendenza con la soluzione disegnata sopra. Gratuito, senza registrazione.
Usa x per la variabile indipendente e y per l'incognita, con + − * / ^ e parentesi: x + y, x*y, y*(1 − y), sin(x) − y. Funzioni: sin, cos, tan, exp, ln, sqrt e altre.
Se conosci la soluzione esatta, inseriscila in x per vedere l'errore reale; altrimenti si usa un riferimento RK4 molto accurato.
Risultati
3,1874849
Approssimazione di y(1)
3,4365637
y(1) esatta
-0,249
Errore
0,1
Passo h
10
Passi n
Il metodo
yₙ₊₁ = yₙ + h·f(xₙ, yₙ): segue la pendenza all'inizio di ogni passo. L'errore globale è proporzionale a h.
Tabella dei passi
| n | xₙ | yₙ | k1 | y(xₙ) esatta | Errore |
|---|---|---|---|---|---|
| 0 | 0 | 1 | 1 | 1 | 0 |
| 1 | 0,1 | 1,1 | 1,2 | 1,1103418 | -0,0103 |
| 2 | 0,2 | 1,22 | 1,42 | 1,2428055 | -0,0228 |
| 3 | 0,3 | 1,362 | 1,662 | 1,3997176 | -0,0377 |
| 4 | 0,4 | 1,5282 | 1,9282 | 1,5836494 | -0,0554 |
| 5 | 0,5 | 1,72102 | 2,22102 | 1,7974425 | -0,0764 |
| 6 | 0,6 | 1,943122 | 2,543122 | 2,0442376 | -0,101 |
| 7 | 0,7 | 2,1974342 | 2,8974342 | 2,3275054 | -0,13 |
| 8 | 0,8 | 2,4871776 | 3,2871776 | 2,6510819 | -0,164 |
| 9 | 0,9 | 2,8158954 | 3,7158954 | 3,0192062 | -0,203 |
| 10 | 1 | 3,1874849 | 3,4365637 | -0,249 |
I tre metodi con lo stesso passo
| Metodo | y alla fine | Errore |
|---|---|---|
| Metodo di Eulero | 3,1874849 | -0,249 |
| Eulero migliorato (Heun) | 3,4281617 | -0,0084 |
| Runge–Kutta 4 | 3,4365595 | -0,00000417 |
Dimezzamento del passo (Metodo di Eulero)
| n | h | y alla fine | Errore |
|---|---|---|---|
| 10 | 0,1 | 3,1874849 | -0,249 |
| 20 | 0,05 | 3,3065954 | -0,13 |
| 40 | 0,025 | 3,3701277 | -0,0664 |
| 80 | 0,0125 | 3,4029699 | -0,0336 |
Per il metodo di Eulero l'errore si dimezza circa quando h si dimezza; per quello di Heun scende a un quarto; per RK4 a un sedicesimo.
Grafico
- Soluzione esatta
- Metodo di Eulero
Come usare il calcolatore del metodo di Eulero
- 1. Inserisci l'equazione. Scrivi il membro destro di dy/dx = f(x, y) usando x e y:
x + y,y*(1 - y),sin(x) - y. - 2. Inserisci la condizione iniziale e la fine. Inserisci x₀, y₀ = y(x₀) e il valore di x fino al quale risolvere. La fine può trovarsi a sinistra di x₀.
- 3. Scegli il passo. Inserisci un passo h, oppure passa a un numero di passi n. Se h non divide l'intervallo in modo esatto, il calcolatore lo corregge e te lo segnala.
- 4. Scegli un metodo e leggi la tabella. Ogni riga riporta xₙ, yₙ e le pendenze usate. Se conosci la soluzione esatta, inseriscila per vedere l'errore reale.
I tre metodi
| Metodo | Passo | Errore globale |
|---|---|---|
| Eulero | yₙ₊₁ = yₙ + h·f(xₙ, yₙ) | proporzionale a h |
| Eulero migliorato (Heun) | yₙ₊₁ = yₙ + (h/2)(k₁ + k₂), con k₁ = f(xₙ, yₙ) e k₂ = f(xₙ + h, yₙ + h·k₁) | proporzionale a h² |
| Runge–Kutta 4 | yₙ₊₁ = yₙ + (h/6)(k₁ + 2k₂ + 2k₃ + k₄) | proporzionale a h⁴ |
Il metodo di Eulero segue la retta tangente all'inizio di ogni passo. Il metodo di Heun fa la media tra la pendenza all'inizio e la pendenza nel punto finale previsto, ed è per questo che è detto anche regola del trapezio esplicita. Runge–Kutta 4 campiona la pendenza quattro volte per passo e la pondera con i pesi 1, 2, 2, 1. Questi sono i metodi descritti da Burden e Faires, Numerical Analysis, capitolo 5.
Esempio svolto: y′ = x + y, y(0) = 1
La soluzione esatta è y = 2eˣ − x − 1, quindi y(1) = 2e − 2 ≈ 3,4365637. Con il metodo di Eulero e h = 0,1 i primi passi sono:
| n | xₙ | yₙ | pendenza f(xₙ, yₙ) | y(xₙ) esatta |
|---|---|---|---|---|
| 0 | 0 | 1 | 1 | 1 |
| 1 | 0,1 | 1,1 | 1,2 | 1,1103418 |
| 2 | 0,2 | 1,22 | 1,42 | 1,2428055 |
| 3 | 0,3 | 1,362 | 1,662 | 1,3997176 |
Per esempio, y₁ = 1 + 0,1 × (0 + 1) = 1,1 e y₂ = 1,1 + 0,1 × (0,1 + 1,1) = 1,22. Dopo dieci passi il metodo di Eulero arriva a y(1) ≈ 3,1874849, con un errore di −0,2491: sottostima perché la soluzione vera è convessa e le rette tangenti stanno sotto di essa.
| Passi n (h) | Errore di Eulero in x = 1 | Errore di Heun | Errore di RK4 |
|---|---|---|---|
| 10 (0,1) | −0,2491 | −0,0084 | −0,0000042 |
| 20 (0,05) | −0,1300 | −0,0022 | −0,00000027 |
| 40 (0,025) | −0,0664 | −0,00056 | −0,000000017 |
| 80 (0,0125) | −0,0336 | −0,00014 | −0,0000000011 |
Ogni dimezzamento di h riduce l'errore di Eulero circa della metà, quello di Heun a un quarto e quello di RK4 a un sedicesimo, come prevedono gli ordini dei metodi. Per ottenere con Eulero un errore pari a quello di RK4 con n = 10 servirebbero diverse centinaia di migliaia di passi.
Leggere il campo di pendenza e l'errore
I brevi segmenti del grafico mostrano la pendenza f(x, y) in una griglia di punti: la soluzione vera è una curva tangente ai segmenti in ogni punto. La soluzione numerica è disegnata come poligonale sopra di essa; se fornisci la soluzione esatta, viene disegnata accanto a essa tratteggiata. Senza una soluzione esatta, la colonna dell'errore confronta con un valore di riferimento ottenuto con RK4 usando almeno 2.000 passi, molto più accurato di qualunque metodo scelto qui. Alcune equazioni divergono in tempo finito, come y′ = y² con y(0) = 1 in x = 1: la tabella si ferma dove i valori diventano infiniti.
Domande frequenti
- Come funziona il metodo di Eulero?
- Costruisce la soluzione passo dopo passo. Dal punto (xₙ, yₙ) calcola la pendenza f(xₙ, yₙ) dall'equazione differenziale e si sposta lungo quella retta tangente per una distanza orizzontale h, ottenendo yₙ₊₁ = yₙ + h·f(xₙ, yₙ). Ogni nuovo punto è il punto di partenza del passo successivo.
- Quanto è accurato il metodo di Eulero?
- L'errore locale per passo è proporzionale a h², ma gli errori si accumulano in circa 1/h passi, quindi l'errore globale è proporzionale a h. Dimezzare il passo dimezza l'errore. È un buon metodo per imparare e un cattivo metodo per la precisione.
- Che cos'è il metodo di Eulero migliorato?
- Il metodo di Eulero migliorato, o metodo di Heun, fa prima un passo di Eulero per prevedere la fine dell'intervallo, poi fa la media tra la pendenza in quel punto e la pendenza all'inizio. Questa correzione del secondo ordine rende l'errore globale proporzionale a h² invece che a h, al prezzo di due valutazioni della pendenza per passo.
- Come scelgo il passo?
- Usa la tabella di dimezzamento: riduci h finché la risposta non cambia nelle cifre che ti interessano. Il metodo di Eulero richiede un h piccolo, mentre RK4 raggiunge la stessa precisione con un h molto più grande. Le equazioni rigide (con componenti che decadono rapidamente) possono richiedere un h piccolo con qualunque di questi metodi.
- Può risolvere equazioni del secondo ordine o sistemi?
- No. Risolve una singola equazione del primo ordine dy/dx = f(x, y). Un'equazione del secondo ordine può essere riscritta come sistema del primo ordine, ma questo strumento non gestisce i sistemi.
- Perché la soluzione si ferma a metà?
- I valori sono diventati infiniti, cosa che accade quando la soluzione vera diverge in tempo finito o quando il passo è troppo grande per un'equazione instabile. La tabella termina all'ultima riga finita e il messaggio indica il valore di x vicino al quale è successo.