Visualizza e confronta le profondità di marea misurate e previste
Questo esempio mostra come confrontare la profondità di marea misurata e prevista a Ockway Bay. Prevedere la profondità delle maree è fondamentale: se non sei consapevole della profondità dell'acqua, la tua barca può facilmente rimanere bloccata nel fango in una baia poco profonda.
Leggi i dati dal mareografo in tempo reale di Ockway Bay
Il canale ThingSpeak™ 50289 contiene dati sulla profondità delle maree a Ockway Bay. I dati vengono raccolti una volta ogni 5 minuti. Il campo 1 del canale contiene i dati sulla profondità delle maree. Leggere i dati utilizzando la funzione thingSpeakRead
dal canale 50289 in un giorno particolare, ad esempio 1 luglio 2016.
startDate = datetime('July 1, 2016 12:01:00 AM'); endDate = datetime('July 2, 2016 12:02:00 AM'); dateRange = startDate:endDate; data = thingSpeakRead(50289,'DateRange',dateRange,'Fields',1);
Crea oggetto dati e determina il trend dei dati
Utilizzare la funzione iddata
per creare un oggetto iddata
dei dati sulla profondità delle maree. Poiché i dati sulle maree non hanno media zero, utilizzare detrend
per far sì che i dati abbiano media zero.
NOTA: Questo esempio è progettato per illustrare come un modello AR può essere utilizzato per modellare una funzione sinusoidale come il livello della marea. Non è concepito come alternativa alle sofisticate tecniche di previsione delle maree. Le funzioni MATLAB® che prevedono i livelli di marea utilizzando i dati di marea misurati, come le funzioni UTide, sono disponibili su MATLAB Central.
sampleTime = 5; IDdata = iddata(data,[],sampleTime,'OutputName',{'Tidal Depth'},'TimeUnit','minutes') IDdata = detrend(IDdata,0);
IDdata = Time domain data set with 288 samples. Sample time: 5 minutes Outputs Unit (if specified) Tidal Depth
Adattare un modello AR ai dati
Poiché la profondità della marea varia nel tempo, utilizzare la funzione ar
per adattare ai dati un modello autoregressivo a tempo discreto.
modelOrder = 8; sys = ar(IDdata,modelOrder);
Confrontare le profondità di marea misurate e previste
Utilizzare la funzione compare
per confrontare la precisione dei dati del modello previsti con quella dei dati misurati.
compare(IDdata,sys,287,'r')
Questo grafico mostra il confronto tra la risposta prevista del sistema di 287 passi avanti e i dati misurati.
Vedi anche
Funzioni
thingSpeakRead
|iddata
(System Identification Toolbox) |detrend
(System Identification Toolbox) |ar
(System Identification Toolbox) |compare
(System Identification Toolbox)