Main Content

Diese Seite wurde mithilfe maschineller Übersetzung übersetzt. Klicken Sie hier, um die neueste Version auf Englisch zu sehen.

Visualisieren und vergleichen Sie gemessene und vorhergesagte Gezeitentiefen

Dieses Beispiel zeigt, wie die gemessene und die vorhergesagte Gezeitentiefe in Ockway Bay verglichen werden. Die Vorhersage von Gezeitentiefen 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 Ockway Bay Echtzeit-Gezeitenmesser

Der 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 Gezeitentiefendaten. Lesen Sie die Daten mit der Funktion thingSpeakRead aus Kanal 50289 an einem bestimmten Tag, zum Beispiel dem 1. 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);

Erstellen Sie ein Datenobjekt und bereinigen Sie den Trend der Daten

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

NOTIZ: Dieses Beispiel soll veranschaulichen, wie ein AR-Modell verwendet werden kann, um eine Sinusfunktion wie den Gezeitenstand zu modellieren. Es ist nicht als Alternative zu hochentwickelten Gezeitenvorhersagetechniken konzipiert. MATLAB® Funktionen, die Gezeitenstände anhand gemessener Gezeitendaten vorhersagen, wie z. B. UTide-Funktionen, sind in 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 prognostizierte Reaktion des Systems mit 287 Schritten im Vergleich zu den gemessenen Daten abschneidet.

Siehe auch

Funktionen