minreal
Réalisation minimale ou annulation pôle-zéro
Syntaxe
sysr = minreal(sys)
sysr = minreal(sys,tol)
[sysr,u] = minreal(sys,tol)
... = minreal(sys,tol,false)
... = minreal(sys,[],false)
Description
sysr = minreal(sys)
élimine l’état non contrôlable ou non détectable des modèles de représentation d’état, ou annule les paires pôle-zéro dans les fonctions de transfert ou les modèles zéro-pôle-gain. La sortie sysr
présente l’ordre minimal et les mêmes caractéristiques de réponse que le modèle d’origine sys
.
sysr = minreal(sys,tol)
spécifie la tolérance appliquée pour l’élimination ou l’annulation pôle-zéro. La valeur par défaut est tol = sqrt(eps)
. L’augmentation de cette tolérance entraîne des annulations supplémentaires.
Pour un modèle de représentation d’état sys
, [sysr,u] = minreal(sys,tol)
renvoie une matrice orthogonale U
de manière à ce que (U*A*U',U*B,C*U')
soit une décomposition de Kalman de (A
,B
,C
)
... = minreal(sys,tol,false)
et ... = minreal(sys,[],false)
désactivent la sortie verbeuse de la fonction. Par défaut, minreal
affiche un message indiquant le nombre d’états retirés d’un modèle de représentation d’état sys
.
Exemples
Les commandes
g = zpk([],1,1); h = tf([2 1],[1 0]); cloop = inv(1+g*h) * g
donnent naissance au modèle zéro-pôle-gain non minimal cloop
.
cloop = s (s-1) ------------------- (s-1) (s^2 + s + 1) Continuous-time zero/pole/gain model.
Pour annuler la paire pôle-zéro à s = 1, tapez
cloopmin = minreal(cloop)
Cette commande permet d’obtenir le résultat suivant.
cloopmin = s ------------- (s^2 + s + 1) Continuous-time zero/pole/gain model.
Algorithmes
L'annulation pôle-zéro est une recherche directe parmi les pôles et les zéros, à la recherche de correspondances situées dans la plage de tolérance. Les fonctions de transfert sont tout d’abord converties sous la forme zéro-pôle-gain.
Historique des versions
Introduit avant R2006a
Voir aussi
Model Reducer | balreal
| modred
| sminreal