Contenuto principale

La traduzione di questa pagina non è aggiornata. Fai clic qui per vedere l'ultima versione in inglese.

ctrb

Controllabilità del modello stato-spazio

    Descrizione

    Si dice che un sistema dinamico è controllabile quando è possibile applicare segnali di controllo che portino il sistema in qualsiasi stato entro un tempo finito. Questa caratteristica è anche chiamata raggiungibilità. ctrb calcola una matrice di controllabilità da matrici di stato o da un modello stato-spazio. È possibile utilizzare questa matrice per determinare la controllabilità.

    Ad esempio, si consideri un modello stato-spazio a tempo continuo con Nx stati, Ny output e Nu input:

    x˙=Ax+Buy=Cx+Du

    In questo caso, x, u e y rappresentano rispettivamente gli stati, gli input e gli output, mentre A, B, C e D sono le matrici stato-spazio con le seguenti grandezze:

    • A è una matrice Nx x Nx a valore reale o a valore complesso.

    • B è una matrice Nx x Nu a valore reale o a valore complesso.

    • C è una matrice Ny x Nx a valore reale o a valore complesso.

    • D è una matrice Ny x Nu a valore reale o a valore complesso.

    Il sistema è controllabile se la matrice di controllabilità generata da ctrb Co=[BABA2BAn1B] ha rank completo, ossia il rango è uguale al numero di stati del modello stato-spazio. La matrice di controllabilità Co ha Nx righe e Nxu colonne. Per un esempio, vedere Controllabilità del modello stato-spazio SISO.

    Co = ctrb(A,B) restituisce la matrice di controllabilità Co utilizzando la matrice di stato A e la matrice input-stato B. Il sistema è controllabile se Co ha rank completo, ossia se il rango di Co è uguale al numero di stati.

    esempio

    Co = ctrb(sys) restituisce la matrice di controllabilità del modello stato-spazio sys. Questa sintassi equivale a:

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

    esempio

    Esempi

    comprimi tutto

    Definire le matrici A e B.

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

    Calcolare la matrice di controllabilità.

    Co = ctrb(A,B);

    Determinare il numero di stati non controllabili.

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

    Lo stato incontrollabile indica che Co non ha rank completo 2. Pertanto, il sistema non è controllabile.

    Per questo esempio, si consideri il seguente modello stato-spazio SISO con 2 stati:

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

    Creare il modello stato-spazio SISO definito dalle seguenti matrici stato-spazio:

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

    Calcolare la matrice di controllabilità e individuare il rank.

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

    La grandezza della matrice di controllabilità dipende dalla grandezza delle matrici A e B. Ad esempio, se la matrice A è una matrice Nx x Nx e la matrice B è una matrice Nx x Nu, la matrice risultante Co ha Nx righe e Nxu colonne. In questo caso, Nx è il numero di stati e Nu è il numero di input.

    rank(Co)
    ans = 
    2
    

    Poiché il rank della matrice di controllabilità Co è uguale al numero di stati, il sistema sys è controllabile.

    In alternativa, è anche possibile utilizzare solo le matrici A e B per trovare la matrice di controllabilità.

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

    Argomenti di input

    comprimi tutto

    Matrice di stato, specificata come matrice Nx x Nx, dove Nx è il numero degli stati.

    Matrice input-stato, specificata come una matrice Nx x Nu, dove Nx è il numero di stati e Nu è il numero di input.

    Modello stato-spazio o array di modelli, specificati come:

    • Un oggetto del modello stato-spazio (ss), quando gli input A, B, C e D sono matrici numeriche o quando si converte da un altro tipo di oggetto del modello.

    • Un oggetto del modello stato-spazio generalizzato (genss), quando una o più delle matrici A, B, C e D includono parametri sincronizzabili, come i parametri realp o le matrici generalizzate (genmat). La funzione utilizza i valori correnti dei parametri sincronizzabili.

    • Un oggetto del modello stato-spazio incerto (uss), quando uno o più input A, B, C e D includono matrici incerte. La funzione utilizza i valori nominali per i parametri incerti. Per utilizzare i modelli incerti è necessario disporre del software Robust Control Toolbox™.

    Argomenti di output

    comprimi tutto

    Matrice di controllabilità, restituita come array. Quando sys è:

    • Un modello stato-spazio singolo con Nx stati e Nu input, l'array risultante Co presenta Nx righe e Nxu colonne.

    • Un array di modelli stato-spazio sys(:,:,j1,...,jN), Co è un array con N+2 dimensioni, ossia Co(:,:,j1,...,jN).

    Riferimenti

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

    Cronologia versioni

    Introduzione prima di R2006a