Visualice y compare las profundidades de marea medidas y previstas
Este ejemplo muestra cómo comparar la profundidad de marea medida y prevista en Ockway Bay. Predecir la profundidad de las mareas es vital: si no eres consciente de la profundidad del agua, tu barco puede quedarse atascado fácilmente en el barro en una bahía poco profunda.
Leer datos del mareógrafo en tiempo real de Ockway Bay
El canal ThingSpeak™ 50289 contiene datos sobre la profundidad de las mareas en Ockway Bay. Los datos se recopilan una vez cada 5 minutos. El campo 1 del canal contiene datos de profundidad de marea. Leer los datos usando la función thingSpeakRead
del canal 50289 en un día en particular, por ejemplo, 01 de julio de 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);
Crear objeto de datos y eliminar la tendencia de los datos
Utilice la función iddata
para crear un objeto iddata
de los datos de profundidad de marea. Como los datos de mareas no tienen una media cero, utilice detrend
para que los datos tengan una media cero.
NOTA: Este ejemplo está diseñado para ilustrar cómo se puede utilizar un modelo AR para modelar una función sinusoidal como el nivel de marea. No está diseñado como una alternativa a las técnicas sofisticadas de predicción de mareas. Las funciones de MATLAB® que pronostican los niveles de marea utilizando datos de marea medidos, como las funciones UTide, están disponibles en 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
Ajustar un modelo AR a los datos
Dado que la profundidad de la marea varía con el tiempo, utilice la función ar
para ajustar un modelo autorregresivo de tiempo discreto a los datos.
modelOrder = 8; sys = ar(IDdata,modelOrder);
Compare las profundidades de marea medidas y previstas
Utilice la función compare
para comparar la precisión de los datos del modelo pronosticado con la de los datos medidos.
compare(IDdata,sys,287,'r')
Este gráfico muestra cómo se compara la respuesta prevista del sistema de 287 pasos adelante con los datos medidos.
Consulte también
Funciones
thingSpeakRead
|iddata
(System Identification Toolbox) |detrend
(System Identification Toolbox) |ar
(System Identification Toolbox) |compare
(System Identification Toolbox)