05. Equazioni Differenziali Ordinarie
❗❗❗❗❗❗❗❗❗❗❗❗❗
❗❗❗ COMPLETARE ❗❗❗
❗❗❗❗❗❗❗❗❗❗❗❗❗
- #Stabilità One-Step
- #Collocazione
5. Soluzione numerica di equazioni differenziali ordinarie
Introduzione
Molti fenomeni possono essere descritti con modelli matematici consistenti di sistemi di equazioni differenziali ordinarie (EDO) del primo ordine:
soggette ad assegnate condizioni iniziali:
Esempi
Pendolo
Il moto di un oscillatore armonico (come può essere un pendolo) senza attrito, è descritto dall'equazione:
Se vogliamo risolvere questo problema in modo analitico, siamo costretti ad usare l'approssimazione delle piccole oscillazioni per cui:
da cui l'equazione diventa:
di cui appunto sappiamo trovare la soluzione.
Per risolvere però il problema reale, siamo costretti a non usare le piccole oscillazioni. In questo caso l'equazione risulta non lineare e non ne conosciamo la soluzione esplicita. Dobbiamo quindi avvalerci di un metodo numerico.
In ogni caso, per la soluzione sono necessarie le condizioni iniziali che permettano di scrivere il #Problema di Cauchy:
Modello Preda-Predatore
È un modello utile a descrivere l'andamento delle popolazioni di due specie di cui una è predatrice dell'altra. È stato sviluppato da Larka e Volterra.
Si definiscono 2 specie:
$
\begin
\dot P(t) &= k_{1} P(t) - \frac{1}{\mu_{2}} P(t)N(t) \
\dot N(t) &= -k_{2} N(t) + \frac{1}{\mu_{1}} P(t)N(t) \
P(t_{0}) &= P_{0}, ,,,,,,,,,,, N(t_{0}) = N_
\end{cases}
$
Le prede (
Viceversa, i predatori diminuiscono esponenzialmente in assenza di prede.
La relazione è esponenziale: infatti risolvendo
Le prede poi diminuiscono in presenza dei predatori e questi ultimi aumentano in presenza di prede.
Questo si tratta di un modello non lineare costituito da un sistema di 2 EDO a 2 incognite.
Non sappiamo trovare la soluzione esplicita anche se in questo caso si può dimostrare essere periodica.
Crescita logistica
Il modello:
$
\begin
\dot P (t) &= b P(t) - k P^{2} (t) \
P(t) &= P_
\end{cases}
$
Definizioni
Problema di Cauchy
Il problema di Cauchy è un problema differenziale nella forma:
$
\begin
y'(t) &= f(x, y(t)) ,,,,, t > t_{0} \
y(t_{0}) &= y_
\end{cases}
$
Problema ai limiti
Un problema differenziale nella forma:
Intervallo di discretizzazione
Si definisce il [[#Problema di Cauchy]] in un intervallo:
nel quale è noto esistere un'unica soluzione
Si considera una discretizzazione di
- Nodi:
- Approssimazioni:
Risulta
Si ha quindi che
e
Inoltre, l'errore di troncamento è
Funzione Lipschitziana
Una funzione
Condizione sufficiente Lipschitzianeità
Se
- È derivabile
Allora:
Se
Esistenza della soluzione One-Step
Se
Allora
- La soluzione esiste ed è unica
- Il [[#Problema di Cauchy]] è [[#benposto]]
Errore di troncamento globale One-Step
L'errore di troncamento è
Dove ricordo essere:
= la soluzione esatta nel punto = La soluzione approssimata nel punto
Errore di troncamento locale One-Step
L'errore di Troncamento locale è
se
Convergenza One-Step
Si dice che il metodo converge se
Consistenza One-Step
Si dice che il metodo è consistente se per
Se è verificata la consistenza, dato
Si ha che, essendo l'#Errore di troncamento locale:
possiamo scrivere
per cui
Stabilità One-Step
❗❗❗❗❗❗❗❗❗❗❗❗❗
❗❗❗ COMPLETARE ❗❗❗
❗❗❗❗❗❗❗❗❗❗❗❗❗
Metodi One-Step
Metodi per la risoluzione di [[#Problema di Cauchy]] che sfruttano un algoritmo nella forma:
Sono:
Metodo di Eulero
Metodo di Heun
dove
Ordine di Convergenza (Heun)
Il [[#Metodo di Heun]] ha ordine di convergenza pari a 2:
Metodo di Runge-Kutta
dove
$
\begin{align}
K_{1}(t_{i}, y_{i}) &= f(t_{i}, y_{i}) \
K_{2}(t_{i}, y_{i}) &= f\left( t_{i}+ \frac{h}{2}, y_{i} + \frac{h}{2} K_{1}(t_{i}, y_{i})\right)\
K_{3}(t_{i}, y_{i}) &= f\left( t_{i}+ \frac{h}{2}, y_{i} + \frac{h}{2}K_{2}(t_{i}, y_{i}) \right)\
K_{4}(t_{i}, y_{i}) &= f(t_{i} + h,y_{i} + hK_{3}(t_{i}, y_{i}) )
\end{align}
$
Ordine di Convergenza (Runge-Kutta)
Il [[#Metodo di Runge-Kutta]] ha ordine di convergenza pari a 4:
Metodi alle differenze finite
Metodi per la risoluzione di #Problema ai limiti.
Vedremo in particolare solo problemi ai limiti lineari:
Convergenza
Condizione Sufficiente di esistenza e unicità della soluzione
Se
Allora
Esiste un'unica soluzione al [[#Problema ai limiti]]
Algoritmo
Discretizzazione
Intervallo di discretizzazione
- Nodi:
con nodi - Approssimazioni:
Il passo è
Si ha che
Collocazione
❗❗❗❗❗❗❗❗❗❗❗❗❗
❗❗❗ COMPLETARE ❗❗❗
❗❗❗❗❗❗❗❗❗❗❗❗❗
Schema numerico
Errori
Perché in quei punti abbiamo le condizioni al contorno.
Errore di troncamento locale
Errore di troncamento globale
L'errore di troncamento globale può essere maggiorato come segue
dove
Consistenza differenze finite
è sempre vero per le
Stabilità differenze finite
Un [[#Metodi alle differenze finite]] è stabile se
La stabilità va studiata schema per schema.
❗❗❗❗❗❗❗❗❗❗❗❗❗
❗❗❗ COMPLETARE ❗❗❗
❗❗❗❗❗❗❗❗❗❗❗❗❗
Condizione sufficiente di stabilità
Lo schema lineare è stabile se, siano verificate le seguenti:
è verificato che:
❗❗❗❗❗❗❗❗❗❗❗❗❗
❗❗❗ COMPLETARE ❗❗❗
❗❗❗❗❗❗❗❗❗❗❗❗❗
Negli appunti c'è scritto anche se valgono i) e ii). A che si riferisce?
Convergenza differenze finite
Condizioni di convergenza differenze finite
Teorema di Lax
Per uno schema alle differenze finite (qualunque), la convergenza è equivalente alla [[#Consistenza differenze finite]] + [[#Stabilità differenze finite]].
Ordine di convergenza differenze finite
Stima iterazioni necessarie differenze finite
Se rilevante
Criterio di arresto differenze finite
Se rilevante
Criterio di arresto a posteriori differenze finite
Posso interrompere l'algoritmo quando l'errore al passo k è minore di una tolleranza scelta
Implementazione in Matlab differenze finite
Riportare la function per l'applicazione del metodo in matlab