aggiunti fit doppio esponenziale e grafico di confronto

- fit_doppio_esponenziale.py: modello T∞ + A1·exp + A2·exp con TRF,
  pesi nulli su [115.9–117.2 s], R²=0.9991
- plot_confronto_fit.py: sovrapposizione dei fit singoli sui dati raw,
  motivazione visiva per la combinazione lineare
- report.md: sezione 2.4 con motivazione, equazione, parametri stimati e grafici
This commit is contained in:
2026-04-01 11:50:38 +02:00
parent e0b11378be
commit 640c9a7aed
5 changed files with 180 additions and 0 deletions

View File

@@ -147,3 +147,48 @@ $R^2 = 0.9981$: il modello spiega il **99.81 %** della varianza — fit eccellen
![Fit raffreddamento 2° tratto](fit_raffreddamento_2tratto.png)
*Dati raw `temp_obj IR [C]` (blu) e curva di fit (rosso tratteggiato) a partire da t = 115 s.*
---
### 2.4 Raffreddamento doppio esponenziale
#### Motivazione
Osservando i fit singoli sovrapposti ai dati raw, si nota che nessuno dei due esponenziali riesce a descrivere l'intera curva: il fit del 1° tratto (τ₁ ≈ 13 s) decade troppo rapidamente nella fase finale, mentre il fit del 2° tratto (τ₂ ≈ 17 s) non coglie la dinamica iniziale più ripida. Questo suggerisce la presenza di **due contributi termici sovrapposti** con costanti di tempo diverse.
![Confronto fit singoli sui dati raw](plot_confronto_fit.png)
*Confronto tra il fit del 1° tratto (rosso) e del 2° tratto (verde) sovrapposti ai dati raw: nessuno dei due descrive correttamente l'intera curva.*
Il raffreddamento di un corpo che ha subito un processo termico complesso può essere descritto dalla **combinazione lineare di due esponenziali**: il primo termine cattura una componente rapida (raffreddamento superficiale immediato), il secondo una componente lenta (dissipazione termica del nucleo della scatola). Il modello adottato è:
$$T(t) = T_{\infty} + A_1 \cdot e^{-\frac{t - t_1}{\tau_1}} + A_2 \cdot e^{-\frac{t - t_2}{\tau_2}}$$
con $T_{\infty} = 22.99\ °C$, $t_1 = 115.0\ s$ e $t_2 = 117.5\ s$ fissi. La zona [115.9, 117.2 s] è esclusa con pesi nulli (σ = 10¹⁰), come nei fit precedenti.
#### Parametri stimati
| Parametro | Descrizione | Valore |
|---|---|---|
| $A_1$ | Ampiezza componente rapida | **20.73 ± 0.93 °C** |
| $\tau_1$ | Costante di tempo rapida | **1.80 ± 0.17 s** |
| $A_2$ | Ampiezza componente lenta | **152.44 ± 0.65 °C** |
| $\tau_2$ | Costante di tempo lenta | **17.60 ± 0.13 s** |
#### Curva stimata
$$T(t) = 22.99 + 20.73 \cdot e^{-\frac{t - 115.0}{1.80}} + 152.44 \cdot e^{-\frac{t - 117.5}{17.60}} \quad [°C]$$
#### Bontà del fit
| Metrica | Valore | Nota |
|---|---|---|
| $R^2$ | **0.9991** | Calcolato solo sui punti con peso pieno |
Rispetto al singolo esponenziale (R² = 0.9938 nel fit intero), il doppio esponenziale migliora significativamente la bontà del fit catturando la dinamica iniziale rapida ($\tau_1 \approx 1.8\ s$) che il modello a un solo termine non riusciva a descrivere.
#### Grafico
![Fit doppio esponenziale](fit_doppio_esponenziale.png)
*Dati raw (blu), contributo rapido (rosso punteggiato), contributo lento (verde punteggiato), somma totale (viola tratteggiato), zona esclusa (arancione).*