Main Content

ctrb

状态空间模型的可控性

    说明

    如果可以施加在有限时间内将系统驱动到任何状态的控制信号,则称动态系统可控。这种特性亦称可达性ctrb 根据状态矩阵或状态空间模型计算可控性矩阵。您可以使用此矩阵来确定可控性。

    例如,假设有一个具有 Nx 个状态、Ny 个输出和 Nu 个输入的连续时间状态空间模型:

    x˙=Ax+Buy=Cx+Du

    此处,xuy 分别表示状态、输入和输出,而 ABCD 是具有如下大小的状态空间矩阵:

    • A 是一个 Nx×Nx 实数值或复数值矩阵。

    • B 是一个 Nx×Nu 实数值或复数值矩阵。

    • C 是一个 Ny×Nx 实数值或复数值矩阵。

    • D 是一个 Ny×Nu 实数值或复数值矩阵。

    如果由 ctrb Co=[BABA2BAn1B] 生成的可控性矩阵具有满秩,即秩等于状态空间模型中的状态数目,则系统可控。可控性矩阵 Co 具有 Nx 行和 Nxu 列。有关示例,请参阅 SISO 状态空间模型的可控性

    Co = ctrb(A,B) 使用状态矩阵 A 和输入-状态矩阵 B 返回可控性矩阵 Co。如果 Co 具有满秩,即 Co 的秩等于状态数目,则系统可控。

    示例

    Co = ctrb(sys) 返回状态空间模型 sys 的可控性矩阵。此语法等效于:

    Co = ctrb(sys.A,sys.B);

    示例

    示例

    全部折叠

    定义 AB 矩阵。

    A = [1  1;
         4 -2];
    B = [1 -1;
         1 -1];

    计算可控性矩阵。

    Co = ctrb(A,B);

    确定不可控状态的数目。

    unco = length(A) - rank(Co)
    unco = 
    1
    

    不可控状态表示 Co 没有满秩 2。因此系统不可控。

    对于此示例,假设有以下具有 2 个状态的 SISO 状态空间模型:

    A=[-1.5-210]B=[0.50]C=[01]D=1SISO State-Space Model

    创建由以下状态空间矩阵定义的 SISO 状态空间模型:

    A = [-1.5,-2;1,0];
    B = [0.5;0];
    C = [0,1];
    D = 1;
    sys = ss(A,B,C,D);

    计算可控性矩阵并求秩。

    Co = ctrb(sys)
    Co = 2×2
    
        0.5000   -0.7500
             0    0.5000
    
    

    可控性矩阵的大小取决于 AB 矩阵的大小。例如,如果矩阵 A 是 Nx×Nx 矩阵,矩阵 B 是 Nx×Nu 矩阵,则得到的矩阵 Co 具有 Nx 行和 Nxu 列。此处,Nx 是状态数目,Nu 是输入数目。

    rank(Co)
    ans = 
    2
    

    由于可控性矩阵 Co 的秩等于状态数目,因此系统 sys 可控。

    您也可以仅使用 AB 矩阵求可控性矩阵。

    Co = ctrb(sys.A,sys.B);
    rank(Co)
    ans = 
    2
    

    输入参数

    全部折叠

    状态矩阵,指定为一个 Nx×Nx 矩阵,其中 Nx 是状态数。

    输入-状态矩阵,指定为 Nx×Nu 矩阵,其中 Nx 是状态数,Nu 是输入数。

    状态空间模型或模型数组,指定为:

    • 状态空间 (ss) 模型对象(当输入 ABCD 是数值矩阵或从另一个模型对象类型转换时)。

    • 广义状态空间模型 (genss) 对象(当矩阵 ABCD 中的一个或多个包括 realp 参数等可调参数或广义矩阵 (genmat) 时)。该函数使用可调参数的当前值。

    • 不确定的状态空间模型 (uss) 对象(当输入 ABCD 中的一个或多个包括不确定的矩阵时)。该函数使用不确定参数的标称值。使用不确定模型需要 Robust Control Toolbox™ 软件。

    输出参量

    全部折叠

    可控性矩阵,以数组形式返回。如果 sys 为:

    • 具有 Nx 个状态和 Nu 个输入的单个状态空间模型,则生成的数组 Co 具有 Nx 行和 Nxu 列。

    • 状态空间模型数组 sys(:,:,j1,...,jN),则 Co 是具有 N+2 个维度的数组,即 Co(:,:,j1,...,jN)

    参考

    [1] Paige, C. C. "Properties of Numerical Algorithms Related to Computing Controllability." IEEE Transactions on Automatic Control. Vol. 26, Number 1, 1981, pp. 130-138.

    版本历史记录

    在 R2006a 之前推出