Hauptinhalt

Die Übersetzung dieser Seite ist veraltet. Klicken Sie hier, um die neueste Version auf Englisch zu sehen.

minreal

Minimalrealisierung oder Pol-Nullstellen-Aufhebung

Beschreibung

msys = minreal(sys) eliminiert unkontrollierbare oder unbeobachtbare Zustände in Zustandsraummodellen oder hebt Pol-Nullstellen-Paare in Transferfunktionen oder Null-Polstellen-Verstärkungsmodellen auf. Die Ausgabe msys ist von minimaler Ordnung und hat die gleichen Antwortmerkmale wie das ursprüngliche Modell sys.

Beispiel

msys = minreal(sys,tol) gibt die Toleranz an, die für die Eliminierung von Zuständen oder die Aufhebung von Pol-Nullstellen verwendet wird. Der Standardwert ist tol = sqrt(eps) und einer Steigerung dieser Toleranz erzwingt weitere Abbrüche.

[msys,U] = minreal(___) gibt für das Zustandsraummodell sys zudem eine orthogonale Matrix U aus, sodass es sich bei (UAUT,UB,CUT) um eine Kalman-Zerlegung von (A,B,C) handelt.

Beispiel

Beispiele

alle reduzieren

Dieses Beispiel stellt die Berechnung einer minimalen Realisierung eines Null-Polstellen-Verstärkungsmodells dar

Betrachten Sie in diesem Beispiel die folgenden Befehle, die ein nicht-minimales Null-Polstellen-Verstärkungsmodell cloop erzeugen.

g = zpk([],1,1);
h = tf([2 1],[1 0]);
cloop = inv(1+g*h) * g
cloop =
 
        s (s-1)
  -------------------
  (s-1) (s^2 + s + 1)
 
Continuous-time zero/pole/gain model.

Zur Aufhebung des Null-Polstellen-Paars bei s=1 verwenden Sie die Funktion minreal.

cloopmin = minreal(cloop)
cloopmin =
 
        s
  -------------
  (s^2 + s + 1)
 
Continuous-time zero/pole/gain model.

Dieses Beispiel stellt die Berechnung einer minimalen Realisierung eines Zustandsraummodells dar.

Betrachten Sie für dieses Beispiel ein SISO-Modell mit 25 Zuständen. Laden Sie das Modell.

load('reduce.mat','gasf35unst');
size(gasf35unst)
State-space model with 1 outputs, 1 inputs, and 25 states.

Um die minimale Realisierung zu berechnen, verwenden Sie die Funktion minreal.

[msys,U] = minreal(gasf35unst);
11 states removed.

Diese Syntax gibt ein Zustandsraummodell msys und eine orthogonale Matrix U aus, die zum Berechnen der Kalman-Zerlegung verwendet wird. Diese Zerlegung legt die unkontrollierbaren und nicht beobachtbaren Zustände des ursprünglichen Zustandsraummodells fest. Um die minimale Realisierung zu berechnen, löscht minreal daraufhin diese unkontrollierbaren oder nicht beobachtbaren Zustände. Standardmäßig entfernt diese Funktion 11 Zustände dieses Modells. Sie können die Toleranz erhöhen, um weitere, fast unkontrollierbare oder nicht beobachtbare Zustände zu eliminieren.

Steigern Sie die Toleranz um 100 Mal den Standardwert.

tol = sqrt(eps)*100;
[msys2,U2] = minreal(gasf35unst,tol);
16 states removed.

Die Funktion entfernt nun fünf weitere Zustände.

Eingabeargumente

alle reduzieren

Dynamisches Systemmodell zur Vereinfachung, angegeben in einer der folgenden Formen.

  • Zeitkontinuierliche oder zeitdiskrete numerische Modelle, wie ss-, tf- oder zpk-Modelle.

  • Verallgemeinerte oder unsichere Zustandsraum-Modelle wie z. B. genss- oder uss (Robust Control Toolbox)-Modelle. (Für die Verwendung unsicherer Modelle ist die Software Robust Control Toolbox™ erforderlich.)

    Bei diesen Modellen berechnet die Software die minimale Realisierung des numerischen Teils des Modells. Weitere Informationen zum Zerlegen dieser Modelle finden Sie unter getLFTModel und Internal Structure of Generalized Models.

  • Identifizierte Zustandsraum-idss (System Identification Toolbox)-Modelle. (Für die Verwendung von identifizierten Modellen ist die Software System Identification Toolbox™ erforderlich.)

  • Array dynamischer Systemmodelle.

Toleranz für Pol-Nullstellen-Abbruch oder Zustandseliminierung, angegeben als positiver reeller Skalarwert.

Ausgangsargumente

alle reduzieren

Vereinfachtes Modell, ausgegeben als Modell mit demselben Typ wie sys.

Orthogonale Matrix, ausgegeben als Matrix. Wenn sys ein Zustandsraummodell ist, ist U eine Nx-mal-Nx-Matrix, wobei Nx der Anzahl der Zustände in sys entspricht. Bei Transferfunktionen und Null-Polstellen-Verstärkungsmodellen gibt die Funktion U als leere Matrix [] aus.

Algorithmen

Die Pol-Nullstellen-Aufhebung ist eine einfache Suche durch die Pol- und Nullstellen nach Übereinstimmungen, die innerhalb der Toleranz liegen. Die Transferfunktionen werden zunächst in die Form der Null-Polstellen-Verstärkung umgewandelt.

Alternative Funktionen

Befehlszeile

reducespec

Live Editor Task

Reduce Model Order

Versionsverlauf

Eingeführt vor R2006a