Hauptinhalt

ctrb

Kontrollierbarkeit eines Zustandsraummodells

    Beschreibung

    Ein dynamisches System ist kontrollierbar, wenn es möglich ist, Regelsignale anzulegen, die das System innerhalb finiter Zeit zu einem beliebigen Zustand führen. Diese Eigenschaft wird auch als Erreichbarkeit bezeichnet. ctrb berechnet eine Kontrollierbarkeitsmatrix aus Zustandsmatrizen oder aus einem Zustandsraum-Modell. Anhand dieser Matrix können Sie die Kontrollierbarkeit ermitteln.

    Betrachten Sie beispielsweise ein zeitkontinuierliches Zustandsraummodell mit Nx Zuständen, Ny Ausgängen und Nu Eingängen:

    x˙=Ax+Buy=Cx+Du

    Hier stellen x, u und y die Zustände, Eingänge und Ausgänge dar; A, B, C und D sind die Zustandsraum-Matrizen mit den folgenden Größen:

    • A ist eine Nx-mal-Nx-Matrix mit reellen oder komplexen Werten.

    • B ist eine Nx-mal-Nu-Matrix mit reellen oder komplexen Werten.

    • C ist eine Ny-mal-Nx-Matrix mit reellen oder komplexen Werten.

    • D ist eine Ny-mal-Nu-Matrix mit reellen oder komplexen Werten.

    Das System ist kontrollierbar, wenn die von ctrb Co=[BABA2BAn1B] generierte Kontrollierbarkeitsmatrix vollen Rang aufweist, der Rang also der Anzahl Zustände im Zustandsraum-Modell entspricht. Die Kontrollierbarkeitsmatrix Co weist Nx Zeilen und Nxu Spalten auf. Ein Beispiel hierzu finden Sie unter Kontrollierbarkeit des SISO Zustandsraum-Modells.

    Co = ctrb(A,B) gibt die Kontrollierbarkeitsmatrix Co mithilfe der Zustandsmatrix A und Eingang-zu-Zustands-Matrix B aus. Das System ist kontrollierbar, wenn Co vollen Rang aufweist, der Rang von Co also der Anzahl Zustände entspricht.

    Beispiel

    Co = ctrb(sys) gibt die Kontrollierbarkeitsmatrix des Zustandsraum-Modells sys aus. Diese Syntax entspricht:

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

    Beispiel

    Beispiele

    alle reduzieren

    Definieren Sie die Matrizen A und B.

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

    Berechnen Sie die Kontrollierbarkeitsmatrix.

    Co = ctrb(A,B);

    Ermitteln Sie die Anzahl unkontrollierbarer Zustände.

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

    Der unkontrollierbare Zustand weist darauf hin, dass Co nicht den vollen Rang 2 aufweist. Dementsprechend ist das System nicht kontrollierbar.

    Betrachten Sie in diesem Beispiel das folgende SISO-Zustandsraummodell mit 2 Zuständen:

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

    Erstellen Sie das SISO-Zustandsraummodell, das durch die folgenden Zustandsraum-Matrizen definiert ist:

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

    Berechnen Sie die Kontrollierbarkeitsmatrix und ermitteln Sie den Rang.

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

    Die Größe der Kontrollierbarkeitsmatrix hängt von der Größe der Matrizen A und B ab. Ist Matrix A beispielsweise eine Nx-mal-Nx-Matrix und Matrix B eine Nx-mal-Nu-Matrix, weist die resultierende Matrix Co Nx Zeilen und Nxu Spalten auf. Dabei ist Nx die Anzahl der Zustände und Nu die Anzahl der Eingänge.

    rank(Co)
    ans = 
    2
    

    Da der Rang der Kontrollierbarkeitsmatrix Co der Anzahl Zustände entspricht, ist das System sys kontrollierbar.

    Alternativ können Sie die Matrizen A und B verwenden, um die Kontrollierbarkeitsmatrix zu ermitteln.

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

    Eingabeargumente

    alle reduzieren

    Zustandsmatrix, angegeben als Nx-mal-Nx-Matrix, wobei Nx die Anzahl der Zustände ist.

    Eingang-zu-Zustandsmatrix, angegeben als Nx-mal-Nu-Matrix, wobei Nx die Anzahl der Zustände und Nu die Anzahl der Eingänge ist.

    Zustandsraummodell oder Modellarray, angegeben als:

    • Ein Zustandsraum-Modellobjekt (ss), wenn die Eingänge A, B, C und D numerische Matrizen sind oder aus einem anderen Modellobjekt-Typ konvertiert werden.

    • Ein verallgemeinertes Zustandsraum-Modellobjekt (genss), wenn eine oder mehr der Matrizen A, B, C und D optimierbare Parameter enthalten, wie z. B. realp-Parameter oder verallgemeinerte Matrizen (genmat). Diese Funktion verwendet für optimierbare Parameter die aktuellen Werte.

    • Ein verallgemeinertes Zustandsraum-Modellobjekt (uss), wenn einer oder mehr der Eingänge A, B, C und D unsichere Matrizen enthält. Diese Funktion verwendet für unsichere Parameter die Nennwerte. Für die Verwendung unsicherer Modelle ist die Software Robust Control Toolbox™ erforderlich.

    Ausgangsargumente

    alle reduzieren

    Kontrollierbarkeitsmatrix, ausgegeben als Array. Wenn sys:

    • Eine einziges Zustandsraummodell mit Nx Zuständen und Nu Eingängen ist, weist das resultierende Array Co Nx Zeilen und Nxu Spalten auf.

    • Ein Array von Zustandsraummodellen sys(:,:,j1,...,jN) ist, ist Co ein Array mit N+2 Dimensionen, also Co(:,:,j1,...,jN).

    Referenzen

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

    Versionsverlauf

    Eingeführt vor R2006a