minreal
Minimalrealisierung oder Pol-Nullstellen-Aufhebung
Syntax
sysr = minreal(sys)
sysr = minreal(sys,tol)
[sysr,u] = minreal(sys,tol)
... = minreal(sys,tol,false)
... = minreal(sys,[],false)
Beschreibung
sysr = 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 sysr
ist von minimaler Ordnung und hat die gleichen Antwortmerkmale wie das ursprüngliche Modell sys
.
sysr = 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 eine Erhöhung dieser Toleranz führt zu zusätzlichen Aufhebungen.
[sysr,u] = minreal(sys,tol)
liefert für das Zustandsraummodell sys
eine orthogonale Matrix U
, sodass (U*A*U',U*B,C*U')
eine Kalman-Zerlegung von (A
, B
, C
) ist
... = minreal(sys,tol,false)
und ... = minreal(sys,[],false)
deaktivieren die ausführliche Ausgabe der Funktion. Standardmäßig zeigt minreal
eine Meldung an, die die Anzahl der aus einem Zustandsraummodell sys
entfernten Zustände angibt.
Beispiele
Die Befehle
g = zpk([],1,1); h = tf([2 1],[1 0]); cloop = inv(1+g*h) * g
ergeben das nichtminimale Null-Polstellen-Verstärkungsmodell cloop
.
cloop = s (s-1) ------------------- (s-1) (s^2 + s + 1) Continuous-time zero/pole/gain model.
Zur Aufhebung des Pol-Nullstellen-Paars bei s = 1, geben Sie Folgendes ein:
cloopmin = minreal(cloop)
Dieser Befehl liefert das folgende Ergebnis:
cloopmin = s ------------- (s^2 + s + 1) Continuous-time zero/pole/gain model.
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.
Versionsverlauf
Eingeführt vor R2006a
Siehe auch
Model Reducer | balreal
| modred
| sminreal