我有以下问题:我有一个SIMO系统,我想使用系统识别工具箱的Matlab函数n4sid(执行状态空间模型的子空间识别)应用子空间识别算法(在特定情况下为MOESP)。 由于大量数据和输出无法同时为所有数据提供算法,但更为渐进的更为合适。
考虑我只有2个输出只有一个输入:我想独立地执行2个SISO系统的子空间识别,然后连接它们以获得具有与先前模型相同顺序的最终和完整模型:这是否可能Matlab的默认系统识别工具箱?你有什么参考吗? 我已经在Matlab论坛上询问过,但我没有得到答案,另外我还阅读了系统识别工具箱的用户指南。
// 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而不再进行估算?
我还有一个相关的问题:子空间算法基于矩阵的L-Q分解。假设我有2个矩阵要分解,例如A1,A2。在Matlab中是否有办法通过将A1 A2连接为
来获得矩阵的分解A = [A1,A2]
从单一分解?(特别是我对L矩阵感兴趣) 提前致谢