主要内容

stack

沿数组维度堆叠模型或模型数组以构建模型数组

语法

sys = stack(arraydim,sys1,sys2,...)

说明

sys = stack(arraydim,sys1,sys2,...) 通过沿数组维度 arraydim 堆叠(串联)模型(或数组)sys1,sys2,...,生成动态系统模型数组 sys。所有模型必须具有相同数目的输入和输出(相同的 I/O 维度),但状态数可以不同。I/O 维度不计入数组维度。有关模型数组和数组维度的详细信息,请参阅Model Arrays

对于具有可变阶数的状态空间模型数组,您不能使用点运算符(例如 sys.A)访问数组。需使用以下语法

[A,B,C,D] = ssdata(sys,'cell')

将每个模型的状态空间矩阵作为单独的元胞提取到元胞数组 ABCD 中。

示例

全部折叠

如果两个模型是 sys1sys2

  • stack(1,sys1,sys2) 生成 2×1 模型数组。

  • stack(2,sys1,sys2) 生成 1×2 模型数组。

  • stack(3,sys1,sys2) 生成 1×1×2 模型数组。

堆叠从相同估计数据得出的辨识状态空间模型,并比较其波特响应。

load iddata1 z1
sysc = cell(1,5);
opt = ssestOptions('Focus','simulation');
for i = 1:5
sysc{i} = ssest(z1,i-1,opt);
end
sysArray = stack(1, sysc{:});
bode(sysArray);

版本历史记录

在 R2006a 之前推出