Capitolo 164
Modellizzazione e simulazione (anche per la fisica)

WEB (Materiali vari)

Studia questo capitolo con l’AI: quiz, esercizi e altro

Ripassa con le flashcard

Sorgente di questo capitolo

La filosofia è scritta in questo grandissimo libro che continuamente ci sta aperto innanzi a gli occhi (io dico l’universo), ma non si può intendere se prima non s’impara a intender la lingua, e conoscer i caratteri, ne’ quali è scritto. Egli è scritto in lingua matematica, e i caratteri son triangoli, cerchi, ed altre figure geometriche.”

— Galileo Galilei, Il Saggiatore (1623), § 6 — la matematica come linguaggio della natura, fondamento di ogni modellizzazione scientifica

____________________________________________________________________________________

164.1 Introduzione motivazionale

quiz e materiali con l’AI

In tutto il corso di matematica del liceo abbiamo costruito strumenti — algebra, geometria, analisi, probabilità — come oggetti astratti, motivati dalla loro coerenza interna e dalle loro proprietà. In questo capitolo conclusivo cambiamo prospettiva: ci chiediamo come usare la matematica per rappresentare il mondo reale, costruendo modelli di fenomeni fisici, biologici, economici, e come usare il calcolatore per simulare questi modelli.

La pratica scientifica moderna ruota attorno a tre pilastri:

1.
Teoria: deduzione di leggi e predizioni a partire da principi fondamentali (es. equazioni di Maxwell, leggi della termodinamica).
2.
Esperimento: osservazione e misura del fenomeno reale per verificare o falsificare le predizioni.
3.
Simulazione numerica: “laboratorio virtuale” in cui un modello matematico viene risolto al calcolatore, esplorando situazioni difficili o impossibili da realizzare sperimentalmente.

Il terzo pilastro è ormai centrale nella scienza moderna: dal clima all’astrofisica, dalla biologia molecolare alla finanza, le grandi conoscenze del XXI secolo si ottengono incrociando teoria, esperimento e simulazione.

In questo capitolo:

Nota di metodo. Il programma di liceo non richiede competenze di programmazione, ma è importante conoscere il principio dei metodi numerici e saper leggere/interpretare i risultati. Per gli aspetti pratici (con Python, Octave, GeoGebra, Excel), si rinvia ai corsi di laboratorio e di informatica.

164.2 Modelli matematici di fenomeni fisici

quiz e materiali con l’AI

flashcard del paragrafo

Definizione 164.1 — Modello matematico

Un modello matematico di un fenomeno è una rappresentazione formale del fenomeno tramite oggetti matematici (equazioni, funzioni, formule, algoritmi) che cattura gli aspetti essenziali del fenomeno tralasciando i dettagli non rilevanti.

Tipologie di modelli

Esempi-cardine

Esempio 164.1 — Caduta libera con attrito viscoso

Un corpo di massa \(m\) cade verticalmente in aria, con resistenza proporzionale alla velocità: \(-\beta v\). Per la seconda legge di Newton (153):

\[ m \dot v = m g - \beta v. \]

Equazione differenziale lineare del primo ordine, soluzione \(v(t) = (mg/\beta )(1 - e^{-\beta t/m})\). Velocità limite: \(v_\infty = mg/\beta \).

Esempio 164.2 — Crescita logistica di una popolazione

Una popolazione \(P(t)\) con tasso di crescita \(r\) e capacità portante \(K\):

\[ \dot P = r P \left (1 - \frac {P}{K}\right ). \]

Soluzione sigmoide \(P(t) = K/(1 + ((K-P_0)/P_0) e^{-rt})\) (153). Modello per popolazioni biologiche, epidemie nei primi stadi, adozione di un’innovazione.

Esempio 164.3 — Modello SIR per epidemie

La popolazione è divisa in tre categorie: \(S\) (suscettibili), \(I\) (infetti), \(R\) (rimossi: guariti o deceduti). Il modello SIR (Kermack–McKendrick 1927) è:

\[ \begin {aligned} \dot S &= -\beta S I, \\ \dot I &= \beta S I - \gamma I, \\ \dot R &= \gamma I, \end {aligned} \]

con \(\beta \) tasso di contagio e \(\gamma \) tasso di guarigione. Il numero riproduttivo di base è \(R_0 = \beta /\gamma \): se \(R_0 > 1\) l’epidemia si espande; se \(R_0 < 1\) si estingue. È il modello standard delle pandemie (compresa la COVID-19).

Esempio 164.4 — Oscillatore armonico smorzato

Una molla con massa, costante elastica \(k\) e attrito \(\beta \):

\[ m \ddot x + \beta \dot x + k x = 0. \]

ED del secondo ordine (cenno in 154). Modello universale di vibrazioni: pendoli, circuiti RLC, atomi nei reticoli cristallini, strumenti musicali.

Costruzione di un modello

Procedura  — Costruzione di un modello matematico

1.
Identificare le variabili rilevanti del fenomeno (es. posizione, velocità, massa, concentrazione).
2.
Formulare le ipotesi semplificatrici (es. attrito proporzionale a \(v\), popolazione omogenea, mezzo isotropo).
3.
Tradurre le ipotesi in equazioni, usando le leggi fisiche o le relazioni statistiche note.
4.
Identificare parametri (costanti del modello da determinare sperimentalmente).
5.
Risolvere il modello, analiticamente (se possibile) o numericamente.
6.
Confrontare con i dati sperimentali, per validare o raffinare il modello.

164.3 Simulazioni numeriche

quiz e materiali con l’AI

flashcard del paragrafo

Molti modelli, pur essendo perfettamente ben definiti, non hanno soluzione analitica (in forma chiusa con funzioni elementari). Esempi: pendolo non lineare \(\ddot \theta = -(g/L) \operatorname{sen} \theta \) (senza approssimazione di piccole oscillazioni), moto dei tre corpi celesti, equazioni di Navier–Stokes per i fluidi. In questi casi (la maggioranza nelle applicazioni!) si ricorre a metodi numerici: si discretizza il tempo (o lo spazio) in piccoli passi e si avanza la soluzione passo dopo passo.

Metodo di Eulero esplicito (cenno)

Metodo di Eulero per \(\dot y = f(t, y)\), \(y(t_0) = y_0\): scelto un passo \(h > 0\), si calcola la successione

\[ y_{n+1} = y_n + h \cdot f(t_n, y_n), \qquad t_{n+1} = t_n + h. \]

L’idea: sostituire la derivata \(\dot y\) con il rapporto incrementale \((y_{n+1} - y_n)/h\) e risolvere per \(y_{n+1}\).

Accuratezza: l’errore in un singolo passo è di ordine \(h^2\), l’errore globale dopo \(N\) passi è \(O(h)\). Più \(h\) è piccolo, più la simulazione è accurata, ma più costosa in termini di calcoli.

Metodi più accurati: Runge–Kutta di ordine 4 (errore globale \(O(h^4)\)) e altri schemi di ordine superiore. Il liceo si limita a Eulero come idea generale; i metodi avanzati sono nei corsi universitari di calcolo numerico.

Esempio 164.5 — Simulazione di una caduta libera senza attrito

Modello: \(\dot v = g\), \(v(0) = 0\). Eulero con \(h = 0.1\,{\mathrm{s} }\):

\[ \begin {array}{c|cccccc} t & 0 & 0.1 & 0.2 & 0.3 & 0.4 & 0.5 \\ \hline v & 0 & 0.98 & 1.96 & 2.94 & 3.92 & 4.90 \\ \text {esatto } g t & 0 & 0.98 & 1.96 & 2.94 & 3.92 & 4.90 \end {array} \]

In questo caso (ED lineare a coefficienti costanti) Eulero è esatto. Per ED più complesse, l’accuratezza decresce.

Metodo Monte Carlo

I metodi Monte Carlo (Stanislaw Ulam, Enrico Fermi, John von Neumann, Los Alamos 1946) usano la generazione di numeri aleatori per stimare quantità matematiche. Sono utilissimi per integrali in alte dimensioni, simulazioni di sistemi complessi, ottimizzazione.

Esempio 164.6 — Stima di \(\pi \) con Monte Carlo

Si lanciano \(N\) punti a caso nel quadrato \([-1, 1]^2\) (uniformemente). Sia \(K\) il numero di punti che cadono nel cerchio inscritto \(x^2 + y^2 \le 1\). Poiché area cerchio \(= \pi \), area quadrato \(= 4\):

\[ \frac {K}{N} \approx \frac {\pi }{4} \quad \Rightarrow \quad \pi \approx \frac {4 K}{N}. \]

Per \(N = 10000\), l’errore è di ordine \(1/\sqrt N \approx 1\%\). Per \(N = 10^6\), \(\sim 0.1\%\). Il metodo non è il più efficiente per stimare \(\pi \) ma è prototipale: si calcola un integrale usando numeri casuali.

[Picture]

Figura 164.1: Stima di \(\pi \) con Monte Carlo: punti uniformi nel quadrato, frazione interna al cerchio \(\approx \pi /4\).

164.4 Interpretazione critica dei risultati

quiz e materiali con l’AI

flashcard del paragrafo

Una simulazione produce numeri; interpretare correttamente questi numeri richiede consapevolezza dei limiti del processo.

Tre fonti di errore nelle simulazioni:

1.
Errore di modellizzazione: il modello matematico è un’approssimazione della realtà. “All models are wrong, but some are useful” (George Box).
2.
Errore numerico: discretizzazione e arrotondamenti del calcolatore introducono errori controllabili ma non eliminabili.
3.
Errore statistico: nei metodi Monte Carlo, le stime hanno fluttuazioni di ordine \(1/\sqrt N\) (TCL, 159).

Validazione di un modello

Procedura  — Validazione

1.
Confrontare le predizioni del modello con dati sperimentali noti (fitting).
2.
Verificare la robustezza: piccoli cambiamenti nei parametri devono produrre piccoli cambiamenti nei risultati. Se così non è, il modello è caotico (es. moto a tre corpi, sistemi climatici).
3.
Predire fenomeni nuovi (non usati nel fitting) e verificare empiricamente.

Limiti epistemologici

164.5 Esempi svolti

quiz e materiali con l’AI

Esempio 164.7 — Pendolo non lineare: simulazione vs approssimazione lineare

Modello esatto: \(\ddot \theta = -(g/L) \operatorname{sen} \theta \). Approssimazione lineare (154): \(\ddot \theta = -(g/L) \theta \), valida per piccoli \(\theta \). Per \(\theta _0 = \pi /4 = 45°\):

La simulazione numerica permette di calcolare \(T\) esattamente, mentre l’analisi simbolica si limita all’approssimazione.

Esempio 164.8 — Modello SIR per la diffusione di un’influenza

Popolazione \(N = 10000\), \(R_0 = 2.5\), durata infezione \(7\) giorni (\(\gamma = 1/7\), \(\beta = R_0 \gamma \)). Condizioni iniziali: \(S_0 = 9999\), \(I_0 = 1\), \(R_0 = 0\).

Simulando il modello (con Eulero \(h = 0.5\) giorni), si trova che il picco di infezioni si raggiunge intorno al giorno \(20\), con circa \(1500\) persone simultaneamente infette. Alla fine dell’epidemia, circa il \(89\%\) della popolazione è stato infettato (e si è immunizzato).

Lezione: l’\(R_0\) determina sia la velocità di diffusione che la frazione finale di infettati. È il parametro cruciale per le politiche sanitarie.

Esempio 164.9 — Integrale numerico via Monte Carlo

Calcolare \(I = \int _0^1 e^{-x^2}\,\mathrm {d}x\) con metodo Monte Carlo.

L’integrale non è in forma chiusa elementare (vedi 152). Idea: \(I = E(e^{-X^2})\) con \(X\) uniforme su \([0, 1]\). Stimo \(I \approx \frac {1}{N} \sum _{i=1}^N e^{-X_i^2}\) con \(X_i\) uniformi indipendenti.

Per \(N = 1000\), una simulazione tipica dà \(\hat I \approx 0.747\), errore \(\sim 1/\sqrt {1000} \approx 0.03\). Per \(N = 10^6\), \(\hat I \approx 0.7468\). Valore vero: \(I = \sqrt \pi /2 \cdot \operatorname {erf}(1) \approx 0.7468\).

Confronto: per integrali in \(1\)D, i metodi deterministici (Simpson, ecc.) sono più efficienti. Ma in \(10\)D, \(100\)D, \(\ldots \), Monte Carlo diventa l’unica via praticabile.

Esempio 164.10 — Caos: l’attrattore di Lorenz

Il sistema (Edward Lorenz 1963):

\[ \begin {aligned} \dot x &= \sigma (y - x), \\ \dot y &= x(\rho - z) - y, \\ \dot z &= x y - \beta z, \end {aligned} \]

con \(\sigma = 10\), \(\rho = 28\), \(\beta = 8/3\), ha soluzioni che presentano caos deterministico: due traiettorie con condizioni iniziali leggermente diverse divergono esponenzialmente. Effetto farfalla (Lorenz 1972): “Il battito d’ali di una farfalla a Tokyo può causare un uragano in Texas”. Modello fondamentale per la previsione del tempo, intrinsecamente limitata a \(\sim 2\) settimane.

Esempio 164.11 — Stima di una popolazione con la cattura-ricattura

In un lago si vuole stimare il numero \(N\) di pesci. Si catturano \(C = 50\) pesci, li si marca, li si rilascia. Dopo qualche tempo si ricatturano \(R = 80\) pesci, di cui \(M = 8\) marcati.

Stima: la frazione di pesci marcati nel campione \(M/R = 8/80 = 0.1\) è una stima della frazione marcata nell’intero lago, \(C/N\):

\[ \frac {C}{N} \approx \frac {M}{R} \quad \Rightarrow \quad N \approx \frac {C R}{M} = \frac {50 \cdot 80}{8} = 500. \]

Stima: \(N \approx 500\) pesci. (Metodo di Lincoln–Petersen, ampiamente usato in ecologia.)

164.6 Esercizi proposti

quiz e materiali con l’AI

Esercizio 164.1

1.
Per ciascuno dei seguenti fenomeni, indicare se è più adatto un modello deterministico o stocastico, continuo o discreto, e dare una breve formulazione (anche solo a parole):
(a)
Movimento di un satellite attorno alla Terra;
(b)
Numero di clienti in coda al supermercato;
(c)
Diffusione di un’epidemia in una città;
(d)
Reazioni chimiche in un reattore industriale;
(e)
Variazione del prezzo di un’azione.
2.
Modello logistico: si ponga \(r = 0.1\)/giorno, \(K = 1000\), \(P_0 = 10\). Calcolare \(P(t)\) a \(t = 30\), \(60\), \(90\), \(120\) giorni. In quale giorno \(P\) raggiunge \(K/2 = 500\)?
3.
Applicare Eulero esplicito (con \(h = 0.5\)) per simulare \(\dot y = -2 y + 1\), \(y(0) = 0\). Calcolare \(y\) a \(t = 0.5, 1.0, 1.5, 2.0\). Confrontare con la soluzione esatta \(y(t) = (1 - e^{-2 t})/2\).
4.
Per il modello SIR con \(\beta = 0.3\), \(\gamma = 0.1\), popolazione totale \(N = 1000\), \(I_0 = 1\). Calcolare \(R_0 = \beta /\gamma \) e prevedere qualitativamente (senza simulare): l’epidemia si espande o si estingue?
5.
Stimare via Monte Carlo l’area di un’ellisse \(x^2/9 + y^2/4 \le 1\) usando punti uniformi in \([-3, 3] \times [-2, 2]\) (suggerimento: area rettangolo \(= 24\), area ellisse \(= 24 \cdot (\text {frazione interna})\); risultato vero \(6\pi \approx 18.85\)).
6.
Stimare \(\pi \) con il metodo Monte Carlo del cerchio inscritto, simulando “mentalmente” \(N = 100\) punti: se \(K = 79\) punti cadono nel cerchio, qual è la stima?
7.
Per il pendolo non lineare con \(\theta _0 = 60°\), il periodo è circa \(T \approx T_0 \cdot 1.07\) (correzione \(7\%\)). Trovare \(T_0\) se \(L = 1\,{\mathrm{m} }\) e \(g = 9.81\,{\mathrm{m} / \mathrm{s} ^{2} }\), e calcolare il periodo reale.
8.
Discutere l’effetto farfalla di Lorenz: perché le previsioni meteorologiche oltre i \(10\)\(14\) giorni sono praticamente impossibili?
9.
Nel metodo di cattura-ricattura, si catturano \(C = 200\) pesci, li si marca; dopo si ricatturano \(R = 150\) pesci, di cui \(M = 15\) marcati. Stimare \(N\). Determinare la sensibilità della stima a variazioni di \(M\) (es. \(M = 14\) o \(M = 16\)).
10.
Eulero esplicito per oscillatore armonico \(\ddot x = -\omega ^2 x\) con \(\omega = 1\), \(x(0) = 1\), \(\dot x(0) = 0\). Riscrivere come sistema del primo ordine: \(\dot x = v\), \(\dot v = -x\). Simulare con \(h = 0.1\) per \(t \in [0, 2\pi ]\). Verificare che la soluzione numerica si discosta dalla soluzione esatta \(x(t) = \cos t\): Eulero esplicito non conserva l’energia (l’ampiezza cresce). È un’istanza dell’importanza di scegliere il metodo numerico giusto.
11.
Mostrare che il metodo Monte Carlo per stimare \(E(g(X))\) ha errore di ordine \(1/\sqrt N\), conformemente al TCL.
12.
Discutere: “All models are wrong, but some are useful” (George Box). Cosa significa? Fornire esempi di modelli “sbagliati ma utili” (es. modello dei gas ideali, modello di Bohr per l’atomo, modello SIR).
13.
Verificare empiricamente con Excel/calcolatrice la stima Monte Carlo di \(\pi \) con \(N = 100\) lanci di punti in \([0, 1]^2\) contro \(x^2 + y^2 \le 1\). (Suggerimento: usare \(\operatorname {RAND}()\) per generare numeri uniformi in \([0, 1]\).)
14.
Per il modello di crescita esponenziale \(\dot P = r P\), \(P(0) = P_0\):
(a)
soluzione esatta: \(P(t) = P_0 e^{rt}\);
(b)
soluzione Eulero con \(h\): \(P_n = P_0 (1 + rh)^n\);
(c)
confrontare per \(r = 0.1\), \(h = 1\), \(n = 10\) (cioè \(t = 10\)): \(P_{\text {esatto}} = P_0 e^{1} \approx 2.718 P_0\), \(P_{\text {Eulero}} = P_0 (1.1)^{10} \approx 2.594 P_0\). Errore relativo \(\sim 4.6\%\).
15.
Spiegare la differenza fra errore di modello (es. ipotesi semplificatrici) ed errore numerico (es. discretizzazione, arrotondamenti). Quale è dominante in una simulazione meteorologica? In una simulazione di traiettoria balistica?
16.
Si è raccolto un campione di \(n = 50\) alunni, di cui \(30\) favorevoli a una proposta. Costruire un intervallo di fiducia al \(95\%\) per la quota di favorevoli nella popolazione (suggerimento: usare \(\mathcal N(\hat p, \hat p(1-\hat p)/n)\), vedi 159). Risultato: \(\hat p \pm 0.136\), ovvero \([0.464, 0.736]\).
17.
Sfida (modello SIR con simulazione mentale). In una piccola popolazione di \(N = 100\) persone con \(I_0 = 1\) caso iniziale, \(\beta = 0.5\)/giorno e \(\gamma = 0.2\)/giorno (durata infezione \(5\) giorni). \(R_0 = 2.5\).
(a)
Stimare il numero di infettati al giorno \(1\) (assumendo \(S_0 \approx N - I_0\) e crescita iniziale esponenziale \(I(t) \approx I_0 e^{(\beta - \gamma ) t}\) con \(\beta = 0.5\) ma considerando \(S/N \approx 1\) all’inizio: \(I(t) \approx e^{0.3 t}\)).
(b)
Calcolare il giorno del picco approssimato come “quando \(S\) scende a \(N/R_0 = 40\)” (formula del modello SIR). Stimato qualitativamente: giorno \(\sim 15\).
(c)
Riflettere su come l’intervento (es. lockdown che riduce \(\beta \) a \(0.2\), ovvero \(R_0 = 1\)) cambierebbe il decorso.

Discussione: questo è il livello di analisi richiesto per le decisioni di sanità pubblica reali. La matematica del Liceo, opportunamente applicata, è già potente strumento di comprensione.

164.7 Riepilogo del capitolo

quiz e materiali con l’AI