Equazioni Differenziali Ordinarie
Appunti di calcolo numerico
In matematica, un’equazione differenziale ordinaria (ODE) è un tipo di equazione differenziale che coinvolge una o più funzioni di una singola variabile indipendente e le loro derivate. Il termine ordinaria distingue queste equazioni dalle equazioni differenziali alle derivate parziali, che dipendono da più variabili indipendenti.
Le ODE sono strumenti matematici potenti, ampiamente utilizzati per modellare e analizzare sistemi dinamici in vari campi, tra cui fisica, economia, biologia e scienze sociali. Figure storiche come Newton, Euler, Leibniz, la famiglia Bernoulli, Riccati, Clairaut e d’Alembert hanno esplorato e applicato le ODE.
Un esempio noto di ODE è la seconda legge del moto di Newton:
\mathcal{F}(z(t)) = m z^{\prime\prime}(t)
dove \mathcal{F} rappresenta una forza applicata come funzione della posizione z(t) e m è la massa. Questa equazione descrive come l’accelerazione di un oggetto sia legata alla forza applicata, un principio fondamentale della meccanica classica.
Introduzione ai Problemi a Valore Iniziale
Prima di esplorare i metodi di soluzione numerica, è utile rivedere alcune definizioni chiave e proprietà delle equazioni differenziali ordinarie (ODE) e dei problemi a valore iniziale (IVP).
Equazione Differenziale Ordinaria
Un’equazione differenziale ordinaria (ODE) è un’equazione che coinvolge una funzione z(t) definita su un intervallo I \subset \mathbb{R}, con valori nei numeri reali o complessi, oppure negli spazi vettoriali \mathbb{R}^d o \mathbb{C}^d. La forma generale di un’ODE è:
F\left(t, z(t), z'(t), z''(t), \dots, z^{(n)}(t)\right) = 0
L’ordine dell’equazione differenziale è determinato dalla derivata di ordine più alto z^{(n)}(t) presente.
Se z(t) assume valori in uno spazio di dimensione d > 1, l’equazione viene chiamata sistema di equazioni differenziali.
Equazione Differenziale Ordinaria Esplicita
Un’equazione differenziale esplicita del primo ordine ha la forma:
z'(t) = f\left(t, z(t)\right)
Per un’equazione di ordine superiore (ordine n), l’equazione si dice esplicita se può essere scritta come:
z^{(n)}(t) = F\left(t, z(t), z'(t), z''(t), \dots, z^{(n-1)}(t)\right)
Equazione Differenziale Ordinaria Autonoma
Un’equazione differenziale della forma precedente è chiamata autonoma se il termine a destra f non dipende esplicitamente da t, il che significa:
z'(t) = f\left(z(t)\right)
Riduzione a Sistemi di Equazioni Differenziali del Primo Ordine
Ogni equazione differenziale di ordine superiore può essere riscritta come un sistema di equazioni del primo ordine. Se l’equazione originale è esplicita, anche il sistema risultante sarà esplicito.
Per trasformare un’equazione differenziale di ordine superiore in un sistema di equazioni del primo ordine, introduciamo variabili ausiliarie per ciascuna derivata di z(t):
z_0(t) = z(t), \quad z_1(t) = z'(t), \quad \dots, \quad z_{n-1}(t) = z^{(n-1)}(t)
Questo ci consente di riscrivere l’equazione differenziale di ordine n come un sistema di n equazioni del primo ordine:
\begin{Bmatrix} z'_0(t) - z_1(t) \\[0.5em] z'_1(t) - z_2(t) \\[0.5em] \vdots \\[0.5em] z'_{n-2}(t) - z_{n-1}(t) \\[0.5em] F\left(t, z_0(t), z_1(t), \dots, z_{n-1}(t), z'_{n-1}(t)\right) \end{Bmatrix} = \begin{Bmatrix} 0 \\[0.5em] 0 \\[0.5em] \vdots \\[0.5em] 0 \\[0.5em] 0 \end{Bmatrix}
Nel caso di un’equazione esplicita, questo sistema diventa:
\begin{Bmatrix} z'_0(t) \\[0.5em] z'_1(t) \\[0.5em] \vdots \\[0.5em] z'_{n-2}(t) \\[0.5em] z'_{n-1}(t) \end{Bmatrix} = \begin{Bmatrix} z_1(t) \\[0.5em] z_2(t) \\[0.5em] \vdots \\[0.5em] z_{n-1}(t) \\[0.5em] F\left(t, z_0(t), z_1(t), \dots, z_{n-1}(t)\right) \end{Bmatrix}
Problema a Valore Iniziale (IVP)
Il problema a valore iniziale (IVP), noto anche come problema di Cauchy, si presenta quando alle ODE vengono fornite informazioni aggiuntive sotto forma di una condizione iniziale. Questa condizione specifica il valore della funzione z in un dato punto t_0 all’interno del dominio e aiuta a definire una soluzione unica per l’equazione differenziale.
Data una coppia iniziale (t_0, z_0) \in \mathbb{R} \times \mathbb{R}^d, consideriamo f(t, z(t)) come una funzione con valori in \mathbb{R}^d, definita in un intorno I \times U \subset \mathbb{R} \times \mathbb{R}^d attorno al punto iniziale. Il problema a valore iniziale consiste nel trovare una funzione z(t) tale che:
\begin{cases} z'(t) = f(t, z(t)) \\ z(t_0) = z_0 \end{cases}
Soluzione Locale
Una soluzione locale del problema a valore iniziale (IVP) è una funzione z(t) continuamente derivabile che soddisfa la condizione z(t_0) = z_0. Questa soluzione esiste all’interno di un certo intervallo J attorno a t_0, dove sia z(t) che f(t, z(t)) sono ben definiti.
Equazione Differenziale Lineare
Un’equazione differenziale è considerata lineare se può essere espressa come una combinazione lineare delle derivate di z(t):
z^{(n)}(t) = \sum_{i=1}^{n-1} a_i(t) z^{(i)}(t) + r(t)
dove a_i(t) e r(t) sono funzioni continue di t. Se r(t) = 0, l’equazione è chiamata omogenea; in caso contrario, è definita non omogenea.
Buona Posizione per i Problemi a Valore Iniziale
Un problema matematico si dice ben posto se soddisfa le seguenti condizioni di Hadamard:
- Esiste una soluzione.
- La soluzione è unica.
- La soluzione dipende continuamente dai dati iniziali.
Per i problemi a valore iniziale (IVP), la terza condizione è spesso sostituita da un criterio quantitativo noto come continuità di Lipschitz.
Condizione di Lipschitz
La funzione f(t, z) soddisfa una condizione di Lipschitz uniforme nel suo dominio D = I \times \Omega \subset \mathbb{R} \times \mathbb{R}^d rispetto a z se esiste una costante positiva L tale che:
\forall t \in I,\quad \forall x,z \in \Omega: |f(t,x)-f(t,z)| \leq L |x-z|
Se questa condizione vale per sottoinsiemi compatti di D, si parla di condizione di Lipschitz locale.
Funzione Localmente Lipschitziana
Una funzione f(x) è localmente Lipschitziana se esiste un \Delta > 0 e una costante L tale che:
|f(x)-f(x_0)| \leq L |x-x_0|,\quad |x-x_0| < \Delta
Teoremi Fondamentali
Teorema di Esistenza di Peano
Il teorema di Peano garantisce l’esistenza almeno una soluzione per un IVP se la funzione f(t,z) è continua in un intorno del punto iniziale (t_0,z_0).
Enunciato del Teorema
Sia f(t,z) una funzione continua definita sull’insieme chiuso:
\bar{D} = \left\lbrace (t,z)\in\mathbb{R}\times\mathbb{R}^d ~|~ |t-t_0|\leq\alpha,\ |z-z_0|\leq\beta \right\rbrace
con \alpha,\beta > 0. Allora esiste almeno una soluzione z(t) continua nell’intervallo I=[t_0-T,t_0+T], dove T=\min(\alpha,\frac{\beta}{M}) e M=\max_{(t,z)\in D}|f(t,z)|.
Teorema di Picard-Lindelöf
Il teorema afferma che se f(t,z) soddisfa la condizione Lipschitz rispetto a z, allora esiste una soluzione unica locale per l’IVP.
Teorema 1 (Esistenza e Unicità: Picard-Lindelöf) Sia f(t, z) continua nel cilindro:
D = \{ (t, z) \in \mathbb{R} \times \mathbb{R}^d ~\big|~ |t - t_0| \leq a, |z - z_0| \leq b \}
Inoltre, supponiamo che f sia limitata, con una costante
M = \max_{(t, z) \in D} |f(t, z)|
e soddisfi la condizione di Lipschitz con costante L su D. Allora, il problema a valore iniziale:
\begin{cases} z'(t) = f(t, z(t)) \\ z(t_0) = z_0 \end{cases}
ha una soluzione unica nell’intervallo I = [t_0 - T, t_0 + T], dove:
T = \min \left( a, \dfrac{b}{M} \right)