将 MIMO 矩阵数据转换为时间表以进行连续时间模型估计
通过先将矩阵数据转换为时间表,估计连续时间模型函数。
加载数据,其中包括输入矩阵 usteam
、输出矩阵 ysteam
和采样时间 Ts
。
load sdatasteam.mat usteam ysteam Ts
将 usteam
和 ysteam
合并为单个时间表 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)