Main Content

Esta página se ha traducido mediante traducción automática. Haga clic aquí para ver la versión original en inglés.

Visualice y compare profundidades de marea medidas y pronosticadas

Este ejemplo muestra cómo comparar la profundidad de marea medida y pronosticada en Ockway Bay. Predecir la profundidad de las mareas es vital: si no conoce la profundidad del agua, su barco puede atascarse fácilmente en el lodo en una bahía poco profunda.

Leer datos del indicador de mareas en tiempo real de Ockway Bay

El canal 50289 de ThingSpeak™ 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 el thingSpeakRead función 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

Utilizar el iddata función para crear un iddata objeto de los datos de profundidad de marea. Como los datos de mareas no tienen media cero, utilice detrend para que los datos tengan media cero.

NOTA: Este ejemplo está diseñado para ilustrar cómo se puede usar un modelo AR para modelar una función sinusoidal como el nivel de la marea. No está diseñado como una alternativa a las técnicas sofisticadas de pronóstico de mareas. Las funciones de MATLAB® que pronostican los niveles de las mareas 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                         
                                       

Ajuste un modelo AR a los datos

Dado que la profundidad de la marea varía con el tiempo, use el 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 pronosticadas

Utilizar el compare Función para comparar la precisión de los datos del modelo predicho con la de los datos medidos.

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

Este gráfico muestra cómo la respuesta predicha de 287 pasos por delante del sistema se compara con los datos medidos.

Consulte también

Funciones