Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

特定のデータ セグメントの抽出とモデル化

この例では、精度が高いデータ セグメントだけをマージして残りは無視することで複数実験の時間領域データ セットを作成する方法を示します。

データを読み込んでプロットします。

load iddemo8data;
plot(dat);

Figure contains 2 axes objects. Axes object 1 with title y1 contains an object of type line. This object represents dat. Axes object 2 with title u1 contains an object of type line. This object represents dat.

このデータでは、サンプル 251 ~ 280 と 601 ~ 650 の測定値が良好でないか欠落しています。接続点における過渡状態でモデルが損なわれるため、良好なデータ セグメントを単純に連結することはできません。代わりに、各実験が良好なデータ セグメントに対応する複数実験の iddata オブジェクトを作成する必要があります。

データ セグメントをマージして複数実験データ セットを作成します。

datam = merge(dat(1:250),dat(281:600),dat(651:1000));

複数実験データ セットの実験 1 と 2 を使用して状態空間モデルを推定します。

data_est = getexp(datam,[1,2]);
m = ssest(data_est,2);

その出力を実験 3 の出力データと比較してモデルを検証します。

data_val = getexp(datam,3);
compare(data_val,m)

Figure contains an axes object. The axes object with ylabel y1 contains 2 objects of type line. These objects represent Validation data (y1), m: 80.02%.