Calcoli predittivi in sistemi non-lineari
Premessa
Si vuole mostrare un semplice calcolo di previsione del livello di un bacino idrico, mediante l'uso di un calcolatore ed introducendo alcuni metodi non convenzionali di calcolo resi possibili appunto dall'uso di questo eccezionale strumento. I dati non corrispondono ad alcun caso reale, ma sono significativi per mostrare i risultati ottenibili.
Il problema
In essenza il problema affrontato è questo:
Una comunità montana, preoccupata dal pericolo rappresentato dalle piene di un torrente per le costruzioni adiacenti al suo percorso, decide la costruzione di una diga di contenimento, dotata di un'apertura sul suo fondo che limiti il deflusso ad un valore di sicurezza. L'altezza H della diga è stata stabilita in base ai volumi d'acqua accumulabili V, valutati in funzione del livello L.

La figura mostra l'impianto, con le portate in entrata Qe (non misurabile) ed in uscita Qu , entrambe espresse in metricubi al minuto, e la cui differenza, moltiplicata per il tempo, determina V, quindi L. Poiché però non può essere esclusa una piena eccezionale che faccia tracimare la diga, la Protezione Civile consiglia il monitoraggio del livello L mediante un calcolatore in grado di segnalare questa eventualità con mezz'ora di anticipo. Viene perciò prevista la misurazione del livello (approssimata al cm), inviando al calcolatore il dato ogni minuto. Si tratta perciò di stabilire una procedura di calcolo per programmare il calcolatore a svolgere questa previsione di livello e a dare l'eventuale segnale d'allarme.
Possibile soluzione
Il problema sarebbe semplice se non ci fossero due tipi di complicazioni. La prima è che il livello L è una funzione del volume V accumulato, non esprimibile matematicamente. I dati del volume sono infatti stati valutati dall'orografia della zona a livelli di 1, 2 e 3 m, quindi dovranno essere opportunamente interpolati per ricavare i valori intermedi. La più semplice forma di interpolazione è quella lineare e qualsiasi calcolatore dotato di ambiente matematico evoluto (quale ad es. MathCad, che qui verrà usato) potrà svolgere facilmente questa funzione. Eccone lo svolgimento:

Ma, utilizzando un calcolatore si può migliorare l'interpolazione con algoritmi più sofisticati (tanto i calcoli li fa lui!). Ecco ad es. l'uso di "spline", che interpola i punti con cubiche, in modo da evitare brusche variazioni di pendenza:

Stabilito quindi un modo per passare dal volume al livello (e viceversa), vi è una seconda complicazione. Per calcolare la variazione di volume in un dato tempo, bisogna conoscere sia la portata d'acqua entrante nel bacino (Qe) sia quella uscente (Qu), e la prima non è misurabile, mentre la seconda è variabile in funzione del livello. Supponiamo in un primo momento di conoscere Qe e di considerala costante. Allora:
DV = (Qe-Qu)*Dt
dove possiamo porre Dt = 1 min (dato che Qe e Qu sono in m3 /min) e Qu = K*Ö L. Se la relazione fra L e V fosse di tipo matematico, potremmo esprimere questa relazione come equazione differenziale in L e tentare di trovarne una soluzione. Ma anche in questo caso il calcolatore ci offre una soluzione più semplice (anche se approssimata): il metodo delle differenze finite.

Si tratta in sostanza di scrivere le relazioni valide in un Dt ed iterare il calcolo per tutto il tempo desiderato. Nel nostro caso per 30 min. Osserviamo in dettaglio la procedura illustrata nell'ultima figura. Si fissa Qe (che in questo caso è 3 volte la portata massima ritenuta non pericolosa) e si dà un valore iniziale alle altre variabili (si suppone che il livello iniziale del bacino sia già ad 1 m). Poi, in una sorta di matrice, si scrivono le varie relazioni al tempo t, iniziando a calcolare Qu(t). E' chiaro che si suppone valido il dato dell'ultimo livello L(t-1), e che si considera questo costante per tutto il minuto ( Dt) relativo: in questo consiste appunto l'approssimazione del metodo che però fornisce approssimazioni più che accettabili (nel caso contrario basterebbe ridurre il valore di Dt). Così si continua calcolando il nuovo volume V(t) e ricavando il valore di L(t), dalla funzione di interpolazione precedentemente definita. Dopo 30 iterazioni, si ricava che con quella portata in entrata, in 30 minuti il livello supera l'altezza H della diga (linea blu tratteggiata nella fig.). Quindi si avrebbe tracimazione. L'ipotesi del calcolo richiede la conoscenza di Qe che, come si e' detto, non è invece misurabile. Questo non è in realtà un problema, perché tale valore può essere facilmente ricavato da 2 letture consecutive del livello, calcolando prima i volumi corrispondenti V0=f(L0) e V1=f(L1): Qe = Qu + (V1-V0)/ Dt , dove Qu è ricavato in corrispondenza di L0 (l'approssimazione è in favore della sicurezza).
Potremmo quindi dire che il nostro problema è ora risolto: con la ricezione del dato di livello ogni minuto, il calcolatore può aggiornare il calcolo considerando le ultime 2 letture per ricavare Qe e per fare la previsione dell'aumento di livello per la successiva mezz'ora. L'ipotesi della costanza di Qe in questo intervallo di tempo può però sembrare troppo semplicistica. Ebbene, la potenza del metodo utilizzato (a paragone dei metodi matematici classici) è che Qe può essere fatto variare nel tempo della previsione, senza praticamente alcuna variazione nello stesso programma di calcolo. Basta semplicemente dire con quale criterio deve variare Qe. Supponiamo (per semplicità di impostazione) che si parta con il bacino completamente vuoto (L=0) e che le precipitazioni facciano affluire Qev con andamento di tipo sinusoidale (1° quarto) in 30 minuti, arrivando ad un massimo di Qev = 250 m3/min.

Applicando semplicemente il metodo di prima, si può valutare l'andamento effettivo del livello durante questa mezz'ora

Vediamo dunque che il livello sale a 2 m. Se ora applicassimo l'ultima portata (250 m3/min) mantenendola costante per la previsione nei prossimi 30min, otterremmo senz'altro un allarme di tracimazione. Ma se esaminiamo l'andamento di Qev (ora possibile dai dati raccolti), possiamo cercare di "prevedere" il suo andamento futuro, quindi fare una valutazione più ragionata del prossimo accrescimento del livello.
Anche qui possiamo ricorrere ai sofisticati metodi oggi disponibili con il calcolatore. Uno di questi è la "predizione lineare". In pratica, data una serie di m valori consecutivi vengono automaticamente ricavati altri n valori che sono la "naturale" progressione dei primi. Questo significa che raccolti m valori di Qe possiamo utilizzare nel calcolo di previsione gli n valori così ricavati, affinando cioè la previsione del livello che potrà essere raggiunto nella mezz'ora successiva.

Come si vede, è sorprendente che si ottenga una valutazione così esatta (avevamo scelto per praticità un andamento sinusoidale nel 1° quarto e ci viene previsto il 2° quarto). Se ora usiamo questi dati per la nostra previsione di livello, otteniamo

Cioè si vede che non si arriverebbe alla tracimazione e si eviterebbe così di dare un allarme intempestivo.
Conclusioni
La conclusione che vorrei trarre è che tutto questo non sarebbe possibile non solo senza il calcolatore, ma anche senza tutti i programmi matematici che sono stati via via messi a disposizione degli utenti. E' questo patrimonio di conoscenze la vera sostanza del progresso tecnologico in atto. E chi non ne è partecipe, ne è escluso (lapalissiano, ma non banale). Da anni cerco di suscitare questo interesse fra gli studenti italiani, ma francamente l'impressione che ne ho ricevuto è che in realtà tutto questo non interessi nessuno. Prima di scrivere questo articolo, ho proposto il problema qui trattato, nella sezione di matematica del Forum di Electroportal: in una decina di giorni ci sono state solo 86 "visite" e 0 risposte. Non so come interpretare questa realtà. Il problema non era né banale né impossibile. Nessun desiderio da parte degli studenti di cimentarsi con un caso magari nuovo ed insolito? Io non ho alcun titolo per giudicare la scuola italiana, ma credo che molto derivi dall'impostazione che viene data all'apprendimento delle varie materie (ovviamente parlo di quelle scientifiche): nessuna finalizzazione concreta. Se poi (come ho recentemente sentito) il nuovo orientamento del Ministero dell'Istruzione è basato sullo slogan "meno computer, più tabelline", direi che proprio non ci siamo Anzi che va proprio nella direzione opposta a quello che occorrerebbe per cercare di diminuire il "gap tecnologico", di cui sempre si parla. Ma forse le conoscenze matematiche dei "responsabili" della Pubblica Istruzione non vanno oltre la tavola pitagorica!

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)