Main Content

Questa pagina è stata tradotta con la traduzione automatica. Fai clic qui per vedere l'ultima versione in inglese.

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