Main Content

La traduction de cette page n'est pas à jour. Cliquez ici pour voir la dernière version en anglais.

rlocus

Tracé des lieux des racines d’un système dynamique

Description

exemple

rlocus(sys) calcule et trace le lieu des racines du modèle SISO sys. Le lieu des racines renvoie les trajectoires des pôles en boucle fermée en tant que fonction du gain de rétroaction k (dans le cas d’une rétroaction négative). Les lieux des racines permettent d’étudier les effets des gains de rétroaction variables des emplacements de pôles en boucle fermée. À leur tour, ces emplacements fournissent des informations indirectes sur les réponses temporelles et fréquentielles.

Vous pouvez utiliser rlocus pour tracer le diagramme des lieux des racines de n’importe laquelle des boucles de rétroaction négative suivantes en définissant sys comme indiqué ci-dessous :

Par exemple, si sys est une fonction de transfert représentée par

sys(s)=n(s)d(s)

les pôles en boucle fermée sont les racines de

d(s)+kn(s)=0

Le tracé des lieux des racines représente les trajectoires des pôles en boucle fermée lorsque le gain de rétroaction k varie de 0 à l’infini. rlocus sélectionne de manière adaptative un ensemble de gains positifs k pour obtenir un tracé lisse. Les pôles du tracé des lieux des racines sont désignés par x et les zéros sont désignés par o.

exemple

rlocus(sys1,sys2,...) effectue un tracé unique regroupant les lieux des racines de plusieurs modèles LTI sys1, sys2,.... Vous pouvez définir une couleur, un style de trait et un marqueur pour chaque modèle. Pour découvrir d’autres options de personnalisation du tracé, voir rlocusplot.

exemple

[r,k] = rlocus(sys) renvoie le vecteur des gains de rétroaction k et les emplacements des racines complexes r pour ces gains.

exemple

r = rlocus(sys,k) utilise le vecteur des gains de rétroaction k spécifié par l’utilisateur pour produire les pôles en boucle fermée r qui définissent le tracé des lieux des racines.

Exemples

réduire tout

Pour cet exemple, tracez le lieu des racines du système dynamique SISO suivant :

sys(s)=2s2+5s+1s2+2s+3.

sys = tf([2 5 1],[1 2 3]);
rlocus(sys)

Figure contains an axes object. The axes object contains 4 objects of type line. One or more of the lines displays its values using only markers This object represents sys.

Les pôles du système sont désignés par x, tandis que les zéros sont désignés par o sur le tracé des lieux des racines. Vous pouvez utiliser le menu du tracé des lieux des racines généré pour ajouter des lignes de grille, effectuer un zoom avant ou arrière et également lancer le Property Editor afin de personnaliser le tracé.

Pour découvrir d’autres options de personnalisation du tracé, utilisez rlocusplot.

Pour cet exemple, examinez sisoModels.mat qui contient les trois modèles SISO suivants :

  • sys1 - Un modèle de fonction de transfert

  • sys2 - Un modèle de représentation d'état

  • sys3 - Un modèle zéro-pôle-gain

Chargez les modèles à partir du fichier mat.

load('sisoModels.mat','sys1','sys2','sys3');

Créez le tracé des lieux des racines au moyen de rlocus et spécifiez la couleur de chaque système. Ajoutez également une légende au tracé des lieux des racines.

rlocus(sys1,'b',sys2,'k',sys3,'r')
hold on
legend('sys1','sys2','sys3')
hold off

Figure contains an axes object. The axes object contains 13 objects of type line. One or more of the lines displays its values using only markers These objects represent sys1, sys2, sys3.

La figure contient les diagrammes des lieux des racines des trois systèmes du tracé unique. Pour découvrir d’autres options de personnalisation du tracé, voir rlocusplot.

Pour cet exemple, considérons le modèle de fonction de transfert SISO suivant :

sys(s)=3s2+19s3+7s2+5s+6

Utilisez le modèle de fonction de transfert ci-dessus avec rlocus pour extraire les pôles en boucle fermée et les valeurs de gain de rétroaction qui leur sont associées.

sys = tf([3 0 1],[9 7 5 6]);
[r,k] = rlocus(sys)
r = 3×53 complex
102 ×

  -0.0094 + 0.0000i  -0.0104 + 0.0000i  -0.0105 + 0.0000i  -0.0106 + 0.0000i  -0.0107 + 0.0000i  -0.0108 + 0.0000i  -0.0109 + 0.0000i  -0.0111 + 0.0000i  -0.0112 + 0.0000i  -0.0113 + 0.0000i  -0.0115 + 0.0000i  -0.0117 + 0.0000i  -0.0119 + 0.0000i  -0.0121 + 0.0000i  -0.0124 + 0.0000i  -0.0126 + 0.0000i  -0.0129 + 0.0000i  -0.0132 + 0.0000i  -0.0135 + 0.0000i  -0.0139 + 0.0000i  -0.0143 + 0.0000i  -0.0148 + 0.0000i  -0.0152 + 0.0000i  -0.0158 + 0.0000i  -0.0163 + 0.0000i  -0.0170 + 0.0000i  -0.0177 + 0.0000i  -0.0184 + 0.0000i  -0.0192 + 0.0000i  -0.0201 + 0.0000i  -0.0211 + 0.0000i  -0.0222 + 0.0000i  -0.0233 + 0.0000i  -0.0246 + 0.0000i  -0.0259 + 0.0000i  -0.0274 + 0.0000i  -0.0290 + 0.0000i  -0.0307 + 0.0000i  -0.0326 + 0.0000i  -0.0346 + 0.0000i  -0.0368 + 0.0000i  -0.0392 + 0.0000i  -0.0418 + 0.0000i  -0.0446 + 0.0000i  -0.0476 + 0.0000i  -0.0508 + 0.0000i  -0.0543 + 0.0000i  -0.0582 + 0.0000i  -0.0623 + 0.0000i  -0.0667 + 0.0000i
   0.0008 + 0.0084i   0.0006 + 0.0083i   0.0006 + 0.0082i   0.0006 + 0.0082i   0.0006 + 0.0082i   0.0006 + 0.0082i   0.0005 + 0.0082i   0.0005 + 0.0082i   0.0005 + 0.0082i   0.0005 + 0.0081i   0.0005 + 0.0081i   0.0004 + 0.0081i   0.0004 + 0.0081i   0.0004 + 0.0080i   0.0004 + 0.0080i   0.0003 + 0.0080i   0.0003 + 0.0080i   0.0003 + 0.0079i   0.0002 + 0.0079i   0.0002 + 0.0078i   0.0002 + 0.0078i   0.0002 + 0.0078i   0.0001 + 0.0077i   0.0001 + 0.0077i   0.0001 + 0.0076i   0.0000 + 0.0076i   0.0000 + 0.0075i  -0.0000 + 0.0074i  -0.0000 + 0.0074i  -0.0000 + 0.0073i  -0.0001 + 0.0073i  -0.0001 + 0.0072i  -0.0001 + 0.0071i  -0.0001 + 0.0071i  -0.0001 + 0.0070i  -0.0001 + 0.0070i  -0.0001 + 0.0069i  -0.0001 + 0.0068i  -0.0001 + 0.0068i  -0.0001 + 0.0067i  -0.0001 + 0.0067i  -0.0001 + 0.0066i  -0.0001 + 0.0066i  -0.0001 + 0.0065i  -0.0001 + 0.0065i  -0.0001 + 0.0064i  -0.0001 + 0.0064i  -0.0001 + 0.0064i  -0.0001 + 0.0063i  -0.0001 + 0.0063i
   0.0008 - 0.0084i   0.0006 - 0.0083i   0.0006 - 0.0082i   0.0006 - 0.0082i   0.0006 - 0.0082i   0.0006 - 0.0082i   0.0005 - 0.0082i   0.0005 - 0.0082i   0.0005 - 0.0082i   0.0005 - 0.0081i   0.0005 - 0.0081i   0.0004 - 0.0081i   0.0004 - 0.0081i   0.0004 - 0.0080i   0.0004 - 0.0080i   0.0003 - 0.0080i   0.0003 - 0.0080i   0.0003 - 0.0079i   0.0002 - 0.0079i   0.0002 - 0.0078i   0.0002 - 0.0078i   0.0002 - 0.0078i   0.0001 - 0.0077i   0.0001 - 0.0077i   0.0001 - 0.0076i   0.0000 - 0.0076i   0.0000 - 0.0075i  -0.0000 - 0.0074i  -0.0000 - 0.0074i  -0.0000 - 0.0073i  -0.0001 - 0.0073i  -0.0001 - 0.0072i  -0.0001 - 0.0071i  -0.0001 - 0.0071i  -0.0001 - 0.0070i  -0.0001 - 0.0070i  -0.0001 - 0.0069i  -0.0001 - 0.0068i  -0.0001 - 0.0068i  -0.0001 - 0.0067i  -0.0001 - 0.0067i  -0.0001 - 0.0066i  -0.0001 - 0.0066i  -0.0001 - 0.0065i  -0.0001 - 0.0065i  -0.0001 - 0.0064i  -0.0001 - 0.0064i  -0.0001 - 0.0064i  -0.0001 - 0.0063i  -0.0001 - 0.0063i

k = 1×53

         0    0.4201    0.4542    0.4911    0.5309    0.5740    0.6205    0.6709    0.7253    0.7841    0.8477    0.9165    0.9908    1.0712    1.1581    1.2521    1.3536    1.4634    1.5822    1.7105    1.8493    1.9993    2.1614    2.3368    2.5263    2.7313    2.9529    3.1924    3.4514    3.7313    4.0340    4.3613    4.7151    5.0975    5.5111    5.9581    6.4415    6.9640    7.5289    8.1397    8.8000    9.5138   10.2856   11.1200   12.0220   12.9973   14.0516   15.1915   16.4238   17.7561

Étant donné que sys contient 3 pôles, la taille du tableau de pôles r obtenu est de 3x53. Chaque colonne de r correspond à une valeur de gain issue du vecteur k. Pour cet exemple, rlocus choisit automatiquement 53 valeurs de k de zéro à l'infini afin d’obtenir une trajectoire lisse pour les trois pôles en boucle fermée.

display(r(:,39))
  -3.2585 + 0.0000i
  -0.0145 + 0.6791i
  -0.0145 - 0.6791i
display(k(39))
    7.5289

Par exemple, r(:,39) contient les pôles en boucle fermée ci-dessus pour une valeur de gain de rétroaction de 7.5289.

Pour cet exemple, considérons le modèle de fonction de transfert SISO suivant :

sys(s)=0.5s2-14s4+3s2+2

Définissez le modèle de fonction de transfert et le vecteur de valeurs de gain de rétroaction nécessaire. Pour cet exemple, considérons un ensemble de valeurs de gain allant de 1 à 8 par incréments de 0,5, et extrayons les emplacements des pôles en boucle fermée au moyen de rlocus.

sys = tf([0.5 0 -1],[4 0 3 0 2]);
k = (1:0.5:5);
r = rlocus(sys,k);
size(r)
ans = 1×2

     4     9

Étant donné que sys contient 4 pôles en boucle fermée, la taille du tableau des emplacements de pôles en boucle fermée r obtenu est de 4 x 9 où les 9 colonnes correspondent aux 9 valeurs de gain spécifiques définies dans k.

Vous pouvez également visualiser la trajectoire des pôles en boucle fermée pour les valeurs de gain spécifiques dans k sur le tracé des lieux des racines.

rlocus(sys,k)

Figure contains an axes object. The axes object contains 6 objects of type line. One or more of the lines displays its values using only markers This object represents sys.

Arguments d'entrée

réduire tout

Système dynamique SISO spécifié sous l'une des formes suivantes :

  • Modèles LTI numériques à temps continu ou discret parmi lesquels les modèles tf, zpk ou ss.

  • Modèles LTI 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.)

    rlocus suppose

    • les valeurs actuelles des composants réglables pour les blocs de design de systèmes de contrôle réglables.

    • les valeurs de modèle nominales pour les blocs de design de systèmes de contrôle incertains.

  • Modèles LTI identifiés tels que les modèles idtf (System Identification Toolbox), idss (System Identification Toolbox), idproc (System Identification Toolbox), idpoly (System Identification Toolbox) et idgrey (System Identification Toolbox). (Pour pouvoir utiliser les modèles identifiés, le software System Identification Toolbox™ est nécessaire)

Valeurs de gain de rétroaction relatives aux emplacements des pôles, spécifiées sous la forme d'un vecteur. Les gains de rétroaction définissent la trajectoire des pôles, ce qui affecte la forme du tracé des lieux des racines.

Arguments en sortie

réduire tout

Emplacements des pôles en boucle fermée de sys correspondant à chaque valeur de k, renvoyée sous la forme d’un tableau n par m, où n correspond au nombre de pôles en boucle fermée de sys et de m = max(length(k)).

Valeurs de gain de rétroaction relatives aux emplacements des pôles, renvoyées sous la forme d'un vecteur. Les gains de rétroaction définissent la trajectoire des pôles, ce qui affecte la forme du tracé des lieux des racines. Lorsque k n’est pas définie par l’utilisateur, rlocus sélectionne de manière adaptative un ensemble de gains positifs k compris entre zéro et l’infini afin d’obtenir un tracé lisse.

Conseils

Historique des versions

Introduit avant R2006a