Contenu principal

ctrb

Contrôlabilité du modèle de représentation d'état

    Description

    Un système dynamique est dit contrôlable s'il est possible d'appliquer des signaux de contrôle qui placent le système dans n'importe quel état dans un temps fini. Cette caractéristique est également appelée atteignabilité. ctrb calcule une matrice de contrôlabilité à partir de matrices d'état ou d'un modèle de représentation d'état. Vous pouvez utiliser cette matrice pour déterminer la contrôlabilité.

    Par exemple, considérons un modèle de représentation d’état en temps continu avec Nx états, Ny sorties et Nu entrées :

    x˙=Ax+Buy=Cx+Du

    Ici, x, u et y représentent respectivement les états, les entrées et les sorties, tandis que A, B, C et D correspondent aux matrices de représentation d'état présentant les tailles suivantes :

    • A est une matrice Nx-par-Nx à valeurs réelles ou complexes.

    • B est une matrice Nx-par-Nu à valeurs réelles ou complexes.

    • C est une matrice Ny-par-Nx à valeurs réelles ou complexes.

    • D est une matrice Ny-par-Nu à valeurs réelles ou complexes.

    Le système est contrôlable si la matrice de contrôlabilité générée par ctrb Co=[BABA2BAn1B] a un rang complet, autrement dit que le rang est égal au nombre d'états dans le modèle de représentation d’état. La matrice de contrôlabilité Co présente Nx lignes et Nxu colonnes. Pour un exemple, voir Contrôlabilité du modèle de représentation d'état SISO.

    Co = ctrb(A,B) renvoie la matrice de contrôlabilité Co en utilisant la matrice d'état A et la matrice entrée/état B. Le système est contrôlable si Co a un rang complet. Autrement dit, le rang de Co est égal au nombre d'états.

    exemple

    Co = ctrb(sys) renvoie la matrice de contrôlabilité du modèle de représentation d’état sys. Cette syntaxe équivaut à :

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

    exemple

    Exemples

    réduire tout

    Définissez les matrices A et B.

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

    Calculez la matrice de contrôlabilité.

    Co = ctrb(A,B);

    Déterminez le nombre d'états incontrôlables.

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

    L'état incontrôlable indique que Co ne présente pas le rang complet 2. Par conséquent, le système n'est pas contrôlable.

    Pour les besoins de cet exemple, considérons le modèle de représentation d’état SISO suivant, doté de 2 états :

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

    Créez le modèle de représentation d’état SISO défini par les matrices de représentation d’état suivantes :

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

    Calculez la matrice de contrôlabilité et trouvez le rang.

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

    La taille de la matrice de contrôlabilité dépend de la taille des matrices A et B. Par exemple, si la matrice A est une matrice Nx-par-Nx et que la matrice B est une matrice Nx-par-Nu, la matrice résultante Co présente Nx lignes et Nxu colonnes. Ici, Nx désigne le nombre d’états et Nu, le nombre d’entrées.

    rank(Co)
    ans = 
    2
    

    Étant donné que le rang de la matrice de contrôlabilité Co est égal au nombre d'états, le système sys est contrôlable.

    Sinon, vous pouvez également utiliser uniquement les matrices A et B pour trouver la matrice de contrôlabilité.

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

    Arguments d'entrée

    réduire tout

    Matrice d'état spécifiée en tant que matrice Nx par NxNx désigne le nombre d’états.

    Matrice entrée-état spécifiée en tant que matrice Nx par NuNx désigne le nombre d’états et Nu, le nombre d’entrées.

    Tableau des modèles de représentation d'état ou modèles, spécifié comme suit :

    • Objet de modèle de représentation d’état (ss) lorsque les entrées A, B, C et D sont des matrices numériques ou lors de la conversion à partir d'un autre type d'objet de modèle.

    • Objet de modèle de représentation d’état généralisé (genss) lorsqu'une ou plusieurs des matrices A, B, C et D comprennent des paramètres réglables, tels que les paramètres realp ou les matrices généralisées (genmat). La fonction utilise les valeurs actuelles pour les paramètres réglables.

    • Objet de modèle de représentation d'état incertain (uss) lorsqu'une ou plusieurs des entrées A, B, C et D comprennent des matrices incertaines. La fonction utilise les valeurs nominales pour les paramètres incertains. Pour pouvoir utiliser les modèles incertains, le software Robust Control Toolbox™ est nécessaire.

    Arguments en sortie

    réduire tout

    Matrice de contrôlabilité, renvoyée sous la forme d’un tableau. Quand sys est :

    • Un modèle de représentation d’état unique comptant Nx états et Nu entrées, le tableau obtenu Co présente Nx lignes et Nxu colonnes.

    • Un tableau de modèles de représentation d'état sys(:,:,j1,...,jN), Co est un tableau de dimensions N+2, autrement dit Co(:,:,j1,...,jN).

    Références

    [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.

    Historique des versions

    Introduit avant R2006a