このページは機械翻訳を使用して翻訳されました。元の英語を参照するには、ここをクリックします。
測定潮汐深度および予測潮汐深度の可視化と比較
この例では、オックウェイ湾で測定した潮汐深度と予測される潮汐深度を比較する方法を説明します。潮汐深度を予測することは重要です。水の深さがわからない場合、船は容易に浅い湾の底泥で動けなくなることがあります。
オックウェイ湾のリアルタイム潮汐ゲージからのデータの読み取り
ThingSpeak™チャネル50289 には、オックウェイ湾の潮汐深に関するデータが含まれています。データは 5 分ごとに収集されます。チャネルの Field 1 には潮汐深度のデータが含まれています。関数 thingSpeakRead
を使用して、特定の日 (たとえば、2016 年 7 月 1 日) のデータをチャネル 50289 から読み取ります。
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);
データオブジェクトの作成とデータのトレンド除去
関数 iddata
を使用して、潮汐深度データの iddata
オブジェクトを作成します。潮汐データは平均値がゼロではないため、 detrend
を使用してデータの平均値をゼロにします。
メモ: この例は、AR モデルを使用して潮汐レベルなどの正弦波関数をモデル化する方法を説明するように設計されています。これは、高度な潮汐予測技術の代替として設計されたものではありません。UTide 関数など、測定された潮汐データを使用して潮位を予測するMATLAB®関数は、 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
AR モデルによるデータの近似
潮汐深度は時間と共に変化するため、関数 ar
を使用して、離散時間の自己回帰モデルでデータを近似します。
modelOrder = 8; sys = ar(IDdata,modelOrder);
測定潮汐深度および予測潮汐深度の比較
関数 compare
を使用して、予測モデル データと測定データの正確性を比較します。
compare(IDdata,sys,287,'r')
このプロットは、287 ステップ先のシステムの予測応答が測定データとどのように比較されるかを示しています。
参考
関数
thingSpeakRead
|iddata
(System Identification Toolbox) |detrend
(System Identification Toolbox) |ar
(System Identification Toolbox) |compare
(System Identification Toolbox)