190 likes | 339 Views
Richiami di Identificazione Parametrica. Modellistica e gestione dei sistemi ambientali Corso di Laurea in Ingegneria Gestionale Corso di Laurea Specialistica in Ingegneria Informatica Emiliano Sparacino sparacino@dii.unisi.it. Procedura di identificazione. Raccolta dati
E N D
Richiami di Identificazione Parametrica Modellistica e gestione dei sistemi ambientali Corso di Laurea in Ingegneria Gestionale Corso di Laurea Specialistica in Ingegneria Informatica Emiliano Sparacino sparacino@dii.unisi.it
Procedura di identificazione • Raccolta dati • Selezione di una classe di modelli • Criterio di selezione • Calcolo del modello ottimo • Validazione
Classi di modelli LTI Black-box (i.e. ARX) ODE (i.e. logistica)
Modelli ODE Lineare rispetto ai parametri Esempio: Non Lineare rispetto ai parametri Esempio:
Procedura di identificazione • Raccolta dati • Selezione di una classe di modelli • Criterio di selezione • Calcolo del modello ottimo • Validazione
Criterio di selezione Minimi quadrati lineare Errore di predizione Minimi quadrati non lineare Errore di simulazione
Minimi quadrati lineare(minimizzazione errore di predizione) Per modelli lineari nei parametri ( ) il valore che minimizza l’errore di predizione può essere ottenuto calcolando: Dove U è detto vettore dei regressori.
Minimi quadrati lineare(minimizzazione errore di predizione)
Minimi quadrati lineare(minimizzazione errore di predizione)
Minimi quadrati non lineare(minimizzazione errore di simulazione) vettore delle misure al tempo vettore delle uscite del modello al tempo vettore dei parametri
Procedura di identificazione • Raccolta dati • Selezione di una classe di modelli • Criterio di selezione • Calcolo del modello ottimo • Validazione
Risultati Percentuale della variazione dell’uscita riprodotta dal modello un modello con F I T = 0 significa che ha un fitting uguale al modello con uscita uguale alla media dei dati Errore quadratico medio
Ingressi Dati misurati Simulazione Minimizzazione di No Validazione Ok Procedura di Identificazione
Minimi quadrati non lineare (Matlab) Obiettivo: risolvere un problema di data-fitting nonlineare utilizzando i minimi quadrati Dato un vettore di ingressi (xdata) ed un vettore di osservazioni (ydata), trovare i coefficienti “x” che meglio “adattano” la funzione F(x,xdata) alle osservazioni. lsqcurvefit
Minimi quadrati non lineare (Matlab) [x,resnorm] = Lsqcurvefit(@myfun,x0,xdata,ydata,lb,ub,options,P1,P2,…) Output: x: valore dei parametri MSE = resnorm / N resnorm: Input: x0: valore iniziale di x lb: lower bound di x ub: upper bound di x options: opzioni di minimizzazione (vedi help optimset) P1,P2,…: parametri extra per la funzione ‘myfun’
Identificazione (matlab) ‘myfun’: funzione matlab memorizzata in un M-file (myfun.m) function F = myfun(x,xdata,P1,P2,…) % Inizializzazione variabili, costanti, ecc… F = ode23(@odefun,tspan,y0,options,x,xdata,P1,P2,…) ‘myfun’ richiama un solver ‘ode’ per risolvere equazioni differenziali ‘odefun’ contiene le equazioni da risolvere function dy = odefun(t,y,x,xdata,P1,P2,…) dy = x(1)*xdata(1)*y + …
Identificazione (matlab) lsqcurvefit myfun solver odefun
Ingressi Dati misurati Simulazione Minimizzazione di No Validazione Ok Identificazione xdata x ydata ode23 lsqcurvefit resnorm