主要内容

线性模型数组

您可以使用 LTI 数组将线性模型集合指定为单个实体并对其进行操作。例如,如果您要更改 DC 电机的 KbKm 参数并存储生成的状态空间模型,可以使用以下代码。

K = [0.1 0.15 0.2]; % Several values for Km and Kb
A1 = [-R/L -K(1)/L; K(1)/J -Kf/J];
A2 = [-R/L -K(2)/L; K(2)/J -Kf/J];
A3 = [-R/L -K(3)/L; K(3)/J -Kf/J];
sys_lti(:,:,1)= ss(A1,B,C,D);
sys_lti(:,:,2)= ss(A2,B,C,D);
sys_lti(:,:,3)= ss(A3,B,C,D);

对于由 LTI 数组封装的所有线性模型,输入和输出的数目必须相同,但在单个 LTI 数组内,模型阶数(状态的数量)可以因模型而异。

LTI 数组 sys_lti 包含与 K 中的每个值对应的状态空间模型。键入 sys_lti 可查看 LTI 数组的内容。

Model sys_lti(:,:,1,1)
======================
 
  a = 
                        x1           x2
           x1           -4         -0.2
           x2            5          -10
.
.
.
Model sys_lti(:,:,2,1)
======================
 
  a = 
                        x1           x2
           x1           -4         -0.3
           x2          7.5          -10
.
.
.
Model sys_lti(:,:,3,1)
======================
 
  a = 
                        x1           x2
           x1           -4         -0.4
           x2           10          -10
.
.
.
3x1 array of continuous-time state-space models.

您可以像操作任何其他对象一样操作 LTI 数组。例如,

step(sys_lti)

会生成一个包含所有三个状态空间模型的阶跃响应的图。

包含三个模型的 LTI 数组的阶跃响应

LTI 数组非常适合对一整套模型执行批量分析。有关详细信息,请参阅Model Arrays