Si nota, difatti, come la curva blu tende ad avere un andamento più lineare rispetto alle altre
curve dovuto al fatto che ad ogni passo, si considera la retta tangente alla curva nel punto
corrente e la si estende fino al punto successivo approssimando la funzione con una serie di
segmenti di retta. Man mano che ci si allontana dalle condizioni iniziali, le curve tendono a
sovrapporsi a causa della riduzione dell'errore di troncamento e, quindi, l'approssimazione
diventa più precisa fino a raggiungere un valore asintotico che si avvicina alla totalità della
popolazione.
I grafici che seguono sono due rappresentazioni dei metodi One-Step a confronto
considerando passi h minori: le curve tendono ad avvicinarsi sempre di più tra di loro
mostrando un crescente aumento della precisione nell’approssimazione.
Come si verificava anche per h = 1, dopo un certo intervallo τ tutti i metodi convergono al
valore asintotico della popolazione infetta.
Ho confrontato i diversi metodi per diversi valori del passo h rappresentandoli graficamente
insieme alla soluzione analitica dell’equazione differenziale, nota in letteratura come
equazione logistica:
Con = − ;
Per h = 1:
Per h = 0.5:
Per h = 0.25:
Si nota che il metodo di Runge-Kutta segue più fedelmente la curva della soluzione rispetto
agli altri due, grazie alla sua maggiore accuratezza mentre il metodo di Eulero mostra
deviazioni più marcate, evidenziando errori numerici maggiori rispetto a Heun e Runge-
Kutta.
Ogni metodo numerico presenta un termine di errore in quanto otterremo sempre una
soluzione approssimata e mai la soluzione esatta. Questo termine di errore globale è
influenzato da vari contributi come l’errore di troncamento, legato al fatto che stiamo
approssimando una funzione continua con una successione di valori discreti, e l’errore di
arrotondamento che si propaga passo dopo passo.
È, dunque, essenziale valutare la convergenza di un metodo: un generico metodo è detto
convergente se ovvero che, l'errore globale di troncamento tende a
| |
=
→ ≤≤
zero al diminuire del passo di integrazione h, e che la soluzione numerica converge alla
soluzione esatta.
Per questo motivo, ho verificato la convergenza dei metodi One-Step calcolando l’errore
globale per ogni metodo e per ogni istante di tempo e riportandoli su una tabella:
▪ Ti_E: Istante temporale di riferimento;
▪ Yi_E: Valore della soluzione calcolata in quell’istante di tempo con il metodo di Eulero;
▪ Yi_H: Valore della soluzione calcolata in quell’istante di tempo con il metodo di Heun;
▪ Yi_R: Valore della soluzione calcolata in quell’istante di tempo con il metodo di Runge-
Kutta;
▪ Ye: Valore della soluzione calcolata con la formula dell’equazione logistica;
▪ Errore_Eulero: Errore globale del metodo di Eulero;
▪ Errore_Heun: Errore globale del metodo di Heun;
▪ Errore_RungeKutta: Errore globale del metodo di Runge-Kutta.
Per h = 1 possiamo soffermarci sul fatto che l’errore del metodo di Eulero è il più elevato tra
i tre, specialmente nei primi passi, evidenziando la sua bassa accuratezza e, in più, si nota
come all’inizio il metodo sovrastima la soluzione esatta fino ad arrivare intorno ad un ≅ 7
in cui il valore numerico è sottostimato rispetto alla soluzione esatta.
Il metodo di Heun riduce l’errore rispetto a Eulero, ma presenta comunque valori significativi
e quello di Runge-Kutta, come ci aspettavamo, anche con passo elevato mostra un errore
piccolo.
Per h = 0.5 si verifica la medesima situazione per quanto riguarda l’errore mentre possiamo
notare come le soluzioni Yi dei vari metodi crescono in maniera più rapida rispetto a caso in
cui avevamo un passo maggiore. Questo è giustificato dal fatto che un passo più piccolo
significa che stiamo campionando la soluzione a intervalli di tempo più frequenti. Questo ci
permette di rilevare meglio le variazioni rapide della soluzione, soprattutto nelle fasi iniziali
dove la crescita è più accentuata.
Per h = 0.25 si nota come gli errori introdotti dalla risoluzione dell’equazione differenziale
con i metodi di Eulero, Heun e Runge-Kutta sono sempre più piccoli dimostrando una
maggiore accuratezza dei metodi diminuendo il passo h. Il metodo che meglio converge alla
soluzione esatta è il metodo di Runge-Kutta del 4° ordine, che presenta un errore dell’ordine
-4
di 10 , risultando il più accurato tra quelli considerati.
Ulteriore conferma della convergenza dei vari metodi si rileva nel grafico successivo che
riporta gli andamenti degli errori nel tempo.
Per h = 1 si nota un picco dell’errore di Eulero intorno a 15 per poi decrescere e raggiungere
valori al di sotto dello 0 che, come già detto, indicano una sovrastima della soluzione analitica.
-
Secondo esercizio sui metodi ONE-STEP
-
Terzo esercizio sui metodi ONE-STEP e introduzione metodi alle differenze finite
-
Esercizio Java
-
Metodi matematici per l'ingegneria - esercizio svolto