Main Content

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

連続時間モデルを推定するために MIMO 行列データを timetable に変換

最初に行列データを timetable に変換して連続時間モデル関数を推定します。

データを読み込みます。このデータには、入力行列 usteam、出力行列 ysteam、およびサンプル時間 Ts が含まれます。

load sdatasteam.mat usteam ysteam Ts

usteamysteam を単一の timetable ttsteam に結合します。各チャネルの変数を作成するには、各行列の列を明示的に指定する必要があります。

tts = timetable(usteam(:,1),usteam(:,2),ysteam(:,1),ysteam(:,2),...
    'rowtimes',seconds(Ts*(1:size(usteam,1))));
head(tts,4)
      Time       Var1       Var2        Var3        Var4   
    ________    _______    _______    ________    _________

    0.05 sec    -1.5283     2.0584     0.57733     -0.12274
    0.1 sec      1.4412     -2.005     0.75804    -0.086114
    0.15 sec     1.4314     2.0584    -0.76577     -0.19845
    0.2 sec      1.4412    -1.9806     0.47721     -0.20577

連続時間状態空間モデルを推定します。

nx = 3;
sysc = ssest(tts,nx,'InputName',["Var1" "Var2"],'OutputName',["Var3" "Var4"]);

モデルをデータと比較します。

compare(tts,sysc)

Figure contains 2 axes objects. Axes object 1 with ylabel Var3 contains 2 objects of type line. These objects represent Validation data (Var3), sysc: 90.8%. Axes object 2 with ylabel Var4 contains 2 objects of type line. These objects represent Validation data (Var4), sysc: 62.29%.