Contenu principal

minreal

Réalisation minimale ou annulation pôle-zéro

Description

msys = 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 msys présente l’ordre minimal et les mêmes caractéristiques de réponse que le modèle d’origine sys.

exemple

msys = 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) et l’augmentation de cette tolérance entraîne des annulations supplémentaires.

Pour un modèle de représentation d’état sys, [msys,U] = minreal(___) renvoie également une matrice orthogonale U de manière à ce que UAUT,UB,CUT soit une décomposition de Kalman de (A,B,C).

exemple

Exemples

réduire tout

Cet exemple indique comment calculer une réalisation minimale d'un modèle zéro-pôle-gain.

Pour les besoins de cet exemple, considérons les commandes suivantes qui génèrent un modèle zéro-pôle-gain non minimal cloop.

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.
Model Properties

Pour annuler la paire pôle-zéro à s=1, utilisez la fonction minreal.

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

Cet exemple indique comment calculer une réalisation minimale d'un modèle de représentation d’état.

Pour les besoins de cet exemple, considérons un modèle SISO à 25 états. Chargez le modèle.

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

Pour calculer la réalisation minimale, utilisez la fonction minreal.

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

Cette syntaxe renvoie un modèle de représentation d’état msys, ainsi qu'une matrice orthogonale U qui est utilisée pour calculer la décomposition de Kalman. Cette décomposition détermine les états incontrôlables et inobservables du modèle de représentation d’état d'origine. Pour calculer ensuite la réalisation minimale, minreal élimine ces états incontrôlables ou inobservables. Par défaut, la fonction supprime 11 états pour ce modèle. Pour forcer l'élimination d'états supplémentaires quasi-incontrôlables ou inobservables, vous pouvez augmenter la tolérance.

Augmentez la tolérance de 100 fois la valeur par défaut.

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

La fonction supprime à présent cinq états supplémentaires.

Arguments d'entrée

réduire tout

Modèle de système dynamique spécifié sous l'une des formes suivantes.

  • Modèles numériques en temps continu ou discret, tels que les modèles ss, tf ou zpk.

  • Modèles de représentation d’état généralisés ou incertains tels que les modèles genss ou uss (Robust Control Toolbox). (Pour pouvoir utiliser les modèles incertains, le software Robust Control Toolbox™ est nécessaire.)

    Pour ces modèles, le logiciel calcule la réalisation minimale de la partie numérique du modèle. Pour plus d'informations sur la décomposition de ces modèles, consultez getLFTModel et Internal Structure of Generalized Models.

  • Modèles idss (System Identification Toolbox) de représentation d'état identifiés. (Pour pouvoir utiliser les modèles identifiés, le software System Identification Toolbox™ est nécessaire)

  • Tableau de modèles de systèmes dynamiques.

Tolérance pour l'annulation pôle-zéro ou l'élimination des états, spécifiée sous la forme d'une valeur scalaire réelle positive.

Arguments en sortie

réduire tout

Modèle simplifié, renvoyé en tant que modèle du même type que sys.

Matrice orthogonale, retournée en tant que matrice. Lorsque sys est un modèle de représentation d’état, U est une matrice Nx par Nx, où Nx correspond au nombre d'états dans sys. Pour les modèles de fonction de transfert et zéro-pôle-gain, la fonction renvoie U sous la forme d’une matrice vide [].

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

Ligne de commande

reducespec

Application

Model Reducer

Tâche dans Live Editor

Reduce Model Order

Historique des versions

Introduit avant R2006a