Main Content

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.

Fonctionnalité alternative

Application

Model Reducer

Tâche dans Live Editor

Reduce Model Order

Historique des versions

Introduit avant R2006a