Main Content

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

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