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
thingSpeakRead
|iddata
(System Identification Toolbox) |detrend
(System Identification Toolbox) |ar
(System Identification Toolbox) |compare
(System Identification Toolbox)