Main Content

Cette page a été traduite par traduction automatique. Cliquez ici pour voir la dernière version en anglais.

Visualisez et comparez les profondeurs de marée mesurées et prévues

Cet exemple montre comment comparer la profondeur de marée mesurée et prévue à Ockway Bay. Prévoir la profondeur des marées est vital : si vous n'êtes pas conscient de la profondeur de l'eau, votre bateau peut facilement rester coincé dans la vase d'une baie peu profonde.

Lire les données du marégraphe en temps réel d'Ockway Bay

Le canal ThingSpeak ™ 50289 contient des données sur la profondeur des marées à Ockway Bay. Les données sont collectées une fois toutes les 5 minutes. Le champ 1 du canal contient des données sur la profondeur des marées. Lisez les données à l'aide de la fonction thingSpeakRead du canal 50289 un jour particulier, par exemple le 1er juillet 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);

Créer un objet de données et supprimer la tendance des données

Utilisez la fonction iddata pour créer un objet iddata des données de profondeur de marée. Comme les données de marée n'ont pas une moyenne nulle, utilisez detrend pour que les données aient une moyenne nulle.

NOTE: Cet exemple est conçu pour illustrer comment un modèle AR peut être utilisé pour modéliser une fonction sinusoïdale telle que le niveau de la marée. Il n'est pas conçu comme une alternative aux techniques sophistiquées de prévision des marées. Les fonctions MATLAB® qui prévoient les niveaux de marée à l'aide de données de marée mesurées, telles que les fonctions UTide, sont disponibles sur 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                         
                                       

Ajuster un modèle AR aux données

Étant donné que la profondeur de marée varie avec le temps, utilisez la fonction ar pour ajuster un modèle autorégressif en temps discret aux données.

modelOrder = 8;
sys = ar(IDdata,modelOrder);

Comparez les profondeurs de marée mesurées et prévues

Utilisez la fonction compare pour comparer la précision des données du modèle prédit à celle des données mesurées.

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

Ce graphique montre comment la réponse prédite à 287 étapes du système se compare aux données mesurées.

Voir aussi

Fonctions