主要内容

本页采用了机器翻译。点击此处可查看最新英文版本。

将 MIMO 矩阵数据转换为时间表以进行连续时间模型估计

通过先将矩阵数据转换为时间表,估计连续时间模型函数。

加载数据,其中包括输入矩阵 usteam、输出矩阵 ysteam 和采样时间 Ts

load sdatasteam.mat usteam ysteam Ts

usteamysteam 合并为单个时间表 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%.