Matematica Applicata · Equazioni Differenziali

Equazioni differenziali e modelli dinamici

In questa pagina guardiamo alle equazioni differenziali come strumento per descrivere sistemi che evolvono nel tempo: dalla temperatura in una serra alla crescita di una popolazione, fino a modelli che userai in controllo, simulazione e machine learning.

Torna all'indice generale

1. Che cos'è un'equazione differenziale

Un'equazione differenziale mette in relazione una funzione incognita y(t) con le sue derivate nel tempo. L'idea di base è: non descriviamo direttamente y(t), ma diciamo come cambia nel tempo.

Un esempio generico di equazione differenziale ordinaria di primo ordine è dy/dt = f(t, y) dove f è una funzione che specifica il tasso di variazione di y in ogni istante.

Nei modelli applicati, y(t) rappresenta una grandezza fisica o logica (temperatura, popolazione, concentrazione, livello di attivazione fuzzy, ecc.) e f incorpora le ipotesi sul comportamento del sistema.

2. Esempio: raffreddamento di Newton

Il modello di raffreddamento di Newton descrive come un corpo caldo si avvicina alla temperatura ambiente. L'ipotesi è che la velocità con cui la temperatura cambia sia proporzionale alla differenza rispetto all'ambiente.

In formula: dT/dt = -k (T - T_amb) dove T(t) è la temperatura del corpo, T_amb è la temperatura ambiente e k > 0 è un parametro.

Ad esempio, se T_amb = 20 °C, k = 0.1 1/min e T(0) = 80 °C (acqua calda in una stanza), il modello descrive come la temperatura scende da 80 verso 20 con una velocità iniziale pari a dT/dt = -0.1 · (80 - 20) = -6 °C/min.

Questo tipo di modello è molto vicino a fenomeni che puoi simulare in Python, ad esempio campionando la soluzione a passi di tempo discreti o confrontandola con dati reali provenienti da sensori (come nella tua serra).

3. Esempio: crescita logistica

La crescita logistica è un modello classico per popolazioni o quantità che crescono ma incontrano un limite di capacità (risorse finite, saturazione di mercato, limite fisico di un sistema).

L'equazione logistica ha la forma dP/dt = r P (1 - P/K) dove P(t) è la popolazione, r è il tasso di crescita intrinseco e K è la capacità portante.

Un esempio tipico: P(0) = 10, r = 0.5 1/anno e K = 1000. All'inizio la crescita è quasi esponenziale, poi rallenta quando P(t) si avvicina a 1000, che rappresenta il limite di capacità del sistema (ad esempio risorse disponibili).

Questo modello ha due equilibri (0 e $K$) e mostra molto bene il concetto di dinamica non lineare pur restando comprensibile e facilmente simulabile.

4. Punto di equilibrio e stabilità qualitativa

Un'idea centrale nei modelli dinamici è quella di punto di equilibrio: un valore y* tale che, se il sistema parte da lì, resta lì per sempre. Formalmente è una soluzione costante dell'equazione.

Per un'equazione dy/dt = f(y) un equilibrio y* soddisfa f(y*) = 0. La stabilità qualitativa si studia guardando il segno di f(y) intorno a y* o, per modelli lisci, usando la derivata f'(y*).

Anche senza trovare la soluzione esatta, spesso possiamo capire se un equilibrio è attrattivo (il sistema tende verso di esso) o repellente (il sistema se ne allontana) guardando semplicemente il vettore campo.

5. Risolvere numericamente con Python

Nella pratica, le equazioni differenziali vengono spesso risolte numericamente. Anche per modelli semplici come il raffreddamento o la crescita logistica, usare uno schema numerico ti permette di collegare la teoria al codice e ai dati reali.

Uno schema elementare è il metodo di Eulero esplicito: y_(n+1) = y_n + h f(t_n, y_n) dove h è il passo temporale. In Python puoi implementarlo con un semplice ciclo for e una lista di valori di y_n.

Per esempio, per il raffreddamento con passo h = 1 minuto, puoi partire da T_0 = 80 e calcolare T_1, T_2, ... aggiornando ogni volta T_(n+1) = T_n + h · (-k (T_n - T_amb)). In Python questo diventa un ciclo for che aggiorna una lista di valori T_n.

In una pagina dedicata ai metodi numerici potremo collegare questo schema ad algoritmi più stabili e precisi, e confrontare le soluzioni numeriche con le soluzioni analitiche dove sono disponibili.