Hauptinhalt

Diese Seite wurde mithilfe maschineller Übersetzung übersetzt. Klicken Sie hier, um das englische Original zu sehen.

Visualisieren und vergleichen Sie gemessene und vorhergesagte Gezeitentiefen

Dieses Beispiel zeigt, wie die gemessene und die vorhergesagte Gezeitentiefe in der Ockway Bay verglichen werden. Die Vorhersage der Gezeitentiefe ist von entscheidender Bedeutung: Wenn Sie die Wassertiefe nicht kennen, kann Ihr Boot in einer flachen Bucht leicht im Schlamm stecken bleiben.

Lesen Sie Daten vom Echtzeit-Gezeitenmesser der Ockway Bay

ThingSpeak ™ Kanal 50289 enthält Daten zur Gezeitentiefe in der Ockway Bay. Die Daten werden alle 5 Minuten erfasst. Feld 1 des Kanals enthält Daten zur Gezeitentiefe. Lesen Sie die Daten mit der Funktion thingSpeakRead aus Kanal 50289 an einem bestimmten Tag, beispielsweise dem 01. Juli 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);

Datenobjekt erstellen und Datentrends entfernen

Verwenden Sie die Funktion iddata, um ein iddata-Objekt der Gezeitentiefendaten zu erstellen. Da die Gezeitendaten keinen Mittelwert von Null aufweisen, verwenden Sie detrend, um den Daten einen Mittelwert von Null zu verleihen.

HINWEIS: Dieses Beispiel soll veranschaulichen, wie ein AR-Modell zur Modellierung einer sinusförmigen Funktion wie dem Gezeitenpegel verwendet werden kann. Es ist nicht als Alternative zu hochentwickelten Gezeitenvorhersagetechniken konzipiert. MATLAB ®-Funktionen, die Gezeitenstände anhand gemessener Gezeitendaten vorhersagen, wie z. B. UTide-Funktionen, sind auf MATLAB Central verfügbar.

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                         
                                       

Passen Sie ein AR-Modell an die Daten an

Da die Gezeitentiefe mit der Zeit variiert, verwenden Sie die Funktion ar, um ein zeitdiskretes autoregressives Modell an die Daten anzupassen.

modelOrder = 8;
sys = ar(IDdata,modelOrder);

Vergleichen Sie die gemessenen und vorhergesagten Gezeitentiefen

Verwenden Sie die Funktion compare, um die Genauigkeit der vorhergesagten Modelldaten mit der der gemessenen Daten zu vergleichen.

compare(IDdata,sys,287,'r')

Dieses Diagramm zeigt, wie die für 287 Schritte im Voraus prognostizierte Reaktion des Systems im Vergleich zu den gemessenen Daten aussieht.

Siehe auch

Funktionen