2

我有以下问题:我有一个 SIMO 系统,我想使用 System Identification Toolbox 的 Matlab 函数 n4sid(执行状态空间模型的子空间识别)应用子空间识别算法(在特定情况下为 MOESP)。由于大量的数据和输出不可能一次将所有数据提供给算法,但更渐进的东西更合适。

考虑我只有 2 个输出和一个输入:我想独立执行 2 个 SISO 系统的子空间识别,然后将它们连接起来以获得具有与先前模型相同顺序的最终和完整模型:这可能与默认系统Matlab的识别工具箱?你有什么参考吗?我已经在 Matlab 论坛上询问过,但我没有得到任何答案,而且我阅读了 System Identification Toolbox 的用户指南。

// Example: in = excitation signal. out1, out2 = output signals
// Ts = sampling interval The signals are 0 mean
// putting data into iddata format 
DAT1 = iddata(out1,in,Ts); 
DAT2 = iddata(out2,in,Ts);

//Considering a model order of 10
M1 = n4sid(DAT1,10); // M1 = SISO model with output out1 and input in
M2 = n4sid(DAT2,10); // M2 = SISO model with output out2 and input in

// Estimating the model with 2 outputs and 1 input:
DAT = iddata([out1 out2], in,Ts);
M = n4sid(DAT,10); // M = SIMO model with outputs out1 and out2 and input in

看例子:如何在不再次进行估计的情况下从 M1 和 M2 中得到 M?

我还有一个相关的问题:子空间算法基于矩阵的 LQ 分解。假设我有 2 个要分解的矩阵,例如 A1、A2。Matlab中是否有办法将通过连接A1 A2获得的矩阵分解为

A =[A1, A2]

从单一分解?(特别是我对 L 矩阵感兴趣)提前谢谢

4

0 回答 0