Tracé du locus racine dans MATLAB

Ammar Ali 25 mars 2022
Tracé du locus racine dans MATLAB

Ce tutoriel discutera du calcul et du traçage du locus racine d’un système dynamique à l’aide de la fonction rlocus() dans Matlab.

Calculer et tracer le locus racine du système dynamique à l’aide de la fonction rlocus() dans MATLAB

Nous utilisons le locus racine pour vérifier l’effet de la variation du gain de rétroaction sur les emplacements des pôles en boucle fermée, et ces emplacements fournissent des informations sur la réponse temporelle et fréquentielle.

La fonction rlocus() calcule et trace le lieu racine d’un système donné. Il fournit les trajectoires des pôles en boucle fermée de la fonction donnée, une fonction du gain de rétroaction. Nous devons passer la fonction de transfert du système à l’intérieur de la fonction rlocus() pour tracer le lieu racine de cette fonction.

Par exemple, créons la fonction de transfert d’un système à l’aide de la fonction tf() et traçons son lieu racine à l’aide de la fonction rlocus() dans Matlab. Voir le code ci-dessous.

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

Production :

locus racine d’un système

Le symbole x donne les pôles de la sortie et le symbole o donne les zéros de la fonction de transfert du système.

Nous pouvons également tracer plusieurs locus racine de plusieurs systèmes en utilisant la fonction rlocus(). Si nous passons des fonctions de transfert de plusieurs systèmes dans la fonction rlocus(), elle tracera le lieu racine de tous les systèmes sur le même tracé avec des couleurs différentes.

On peut utiliser la fonction legend() pour donner le nom à chaque parcelle pour les identifier facilement. Par exemple, traçons le locus racine de deux systèmes et ajoutons la légende à l’aide de la fonction legend().

Voir le code ci-dessous.

sys1 = tf([2 5 1],[1 2 3]);
sys2 = tf([2 2 1],[1 2]);
rlocus(sys1,sys2)
legend('sys1','sys2')

Production :

tracé du locus racine de plusieurs systèmes

Nous pouvons également trouver les valeurs des emplacements des pôles en boucle fermée et du gain de rétroaction à l’aide de la fonction rlocus(). Par exemple, trouvons les emplacements des pôles en boucle fermée et les valeurs de gain de rétroaction du système ci-dessus. Voir le code ci-dessous.

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

Production :

ans =

     2    55

Dans la sortie, vous pouvez voir que la taille de la variable R - 2 par 55.

Auteur: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook

Article connexe - MATLAB Plot