Visualizza e confronta le profondità delle maree misurate e previste
Questo esempio mostra come confrontare la profondità di marea misurata e quella prevista a Ockway Bay. È fondamentale prevedere la profondità delle maree: se non si conosce la profondità dell'acqua, la barca può facilmente rimanere incastrata nel fango in una baia poco profonda.
Leggi i dati dal mareografo in tempo reale di Ockway Bay
Il canale 50289 di ThingSpeak ™ contiene dati sulla profondità delle maree a Ockway Bay. I dati vengono raccolti 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 specifico, ad esempio il 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 un oggetto dati e rimuovi le tendenze dai 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 fare in modo che i dati abbiano media zero.
NOTA: Questo esempio è stato ideato 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 delle maree 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 un modello autoregressivo a tempo discreto ai dati.
modelOrder = 8; sys = ar(IDdata,modelOrder);
Confronta le profondità delle maree misurate e previste
Utilizzare la funzione compare per confrontare l'accuratezza dei dati del modello previsto con quella dei dati misurati.
compare(IDdata,sys,287,'r')

Questo grafico mostra come la risposta prevista del sistema con un anticipo di 287 passi si confronta con i dati misurati.
Vedi anche
Funzioni
thingSpeakRead|iddata(System Identification Toolbox) |detrend(System Identification Toolbox) |ar(System Identification Toolbox) |compare(System Identification Toolbox)