Contenido principal

rlocus

Lugar de las raíces de un sistema dinámico

Descripción

[r,kout] = rlocus(sys) calcula el lugar de las raíces del modelo SISO sys y devuelve el vector resultante de las ganancias de retroalimentación k y las ubicaciones de raíces complejas r correspondientes.

Para producir un lugar de las raíces suave, rlocus selecciona automáticamente un conjunto de ganancias de retroalimentación positivas.

Para obtener más información sobre el lugar de las raíces de un sistema dinámico, consulte Algoritmos.

ejemplo

r = rlocus(sys,k) devuelve los polos de lazo cerrado correspondientes a las ganancias de retroalimentación especificadas en k.

ejemplo

rlocus(___) representa el lugar de las raíces del modelo SISO sys con opciones de representación predeterminadas para todas las combinaciones de argumentos de entrada anteriores. Para ver más opciones de personalización de gráficas, utilice rlocusplot.

  • Para representar el lugar de las raíces para varios sistemas dinámicos en la misma gráfica, puede especificar sys como lista de modelos separada por comas. Por ejemplo, rlocus(sys1,sys2,sys3) representa el lugar de las raíces para tres modelos en la misma gráfica.

  • Para especificar un color, un estilo de línea y un marcador para cada sistema de la gráfica, especifique un valor LineSpec para cada sistema. Por ejemplo, rlocus(sys1,LineSpec1,sys2,LineSpec2) representa dos modelos y especifica su estilo de gráfica. Para obtener más información sobre cómo especificar un valor LineSpec, consulte rlocusplot.

Ejemplos

contraer todo

Para este ejemplo, represente el lugar de las raíces del siguiente sistema dinámico SISO:

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

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

MATLAB figure

Los polos del sistema se representan con x, mientras que los ceros se representan con o en la gráfica del lugar de las raíces. Puede utilizar el menú de la gráfica del lugar de las raíces generada para añadir líneas de cuadrícula, hacer zoom y utilizar el editor de propiedades para personalizar la gráfica.

Para ver más opciones de personalización de gráficas, utilice rlocusplot.

Para este ejemplo, considere sisoModels.mat, que contiene los siguientes tres modelos SISO:

  • sys1 - un modelo de función de transferencia

  • sys2 - un modelo de espacio de estados

  • sys3 - un modelo de cero-polo-ganancia

Cargue los modelos desde el archivo mat.

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

Cree la gráfica del lugar de las raíces utilizando rlocus y especifique el color de cada sistema. Añada también una leyenda a la gráfica del lugar de las raíces.

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

MATLAB figure

La figura contiene diagramas del lugar de las raíces para los tres sistemas en la misma gráfica. Para ver más opciones de personalización de gráficas, consulte rlocusplot.

Para este ejemplo, considere el siguiente modelo de función de transferencia SISO:

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

Utilice el modelo de función de transferencia anterior con rlocus para extraer los polos de lazo cerrado y los valores de ganancia de retroalimentación asociados.

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

Como sys contiene tres polos, el tamaño del arreglo de polos r resultante es 3x53. Cada columna de r corresponde a un valor de ganancia del vector k. Para este ejemplo, rlocus eligió automáticamente 53 valores de k de cero a infinito para obtener una trayectoria suave para los tres polos de lazo cerrado.

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

Por ejemplo, r(:,39) contiene los polos de lazo cerrado anteriores para un valor de ganancia de retroalimentación de 7.5289.

Para este ejemplo, considere el siguiente modelo de función de transferencia SISO:

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

Defina el modelo de función de transferencia y el vector necesario de valores de ganancia de retroalimentación. Para este ejemplo, considere un conjunto de valores de ganancia que varíen de 1 a 8 con incrementos de 0,5 y extraiga las ubicaciones de los polos de lazo cerrado utilizando 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

Dado que sys contiene cuatro polos de lazo cerrado, el tamaño del arreglo de ubicaciones de polos cerrados r resultante es 4x9, donde las nueve columnas corresponden a los nueve valores de ganancia específicos definidos en k.

También se puede visualizar la trayectoria de los polos de lazo cerrado para los valores específicos de ganancia en k en la gráfica del lugar de las raíces.

rlocus(sys,k)

MATLAB figure

Argumentos de entrada

contraer todo

Sistema dinámico, especificado como modelo de sistema dinámico SISO o un arreglo de modelos de sistemas dinámicos. Se admiten los siguientes tipos de sistemas dinámicos:

  • Modelos LTI numéricos en tiempo continuo o en tiempo discreto, como modelos tf, zpk o ss.

  • Modelos dispersos en espacio de estados, como modelos sparss o mechss.

  • Modelos LTI generalizados o con incertidumbre, como modelos genss o uss (Robust Control Toolbox). El uso de modelos con incertidumbre requiere Robust Control Toolbox™.

    • En el caso de bloques de diseño de control ajustables, la función evalúa el modelo con su valor actual para representar la respuesta.

    • En el caso de los bloques de diseño de control con incertidumbre, la función representa el valor nominal y muestras aleatorias del modelo.

  • Modelos LTI identificados, como modelos idtf (System Identification Toolbox), idss (System Identification Toolbox) o idproc (System Identification Toolbox). El uso de modelos identificados requiere System Identification Toolbox™.

Si sys es un arreglo de modelos, la gráfica muestra las respuestas de todos los modelos del arreglo en los mismos ejes.

Valores de ganancia de retroalimentación que conciernen a las ubicaciones de los polos, especificados como un vector. Las ganancias de retroalimentación definen la trayectoria de los polos, afectando así el formato de la gráfica del lugar de las raíces.

Argumentos de salida

contraer todo

Ubicaciones de los polos de lazo cerrado de sys correspondientes a cada valor de ganancia de retroalimentación en kout, devueltas como arreglo de N por M, donde N es el número de polos de lazo cerrado de sys y M es max(length(k)).

Valores de ganancia de retroalimentación que conciernen a las ubicaciones de los polos, devueltos como un vector. Las ganancias de retroalimentación definen la trayectoria de los polos, afectando así el formato de la gráfica del lugar de las raíces. Cuando el usuario no define k, rlocus selecciona de forma adaptativa un conjunto de ganancias k positivas entre cero e infinito para producir una gráfica suave.

Sugerencias

  • Para una aproximación interactiva a la gráfica del lugar de las raíces, consulte Control System Designer.

  • Para opciones adicionales con el fin de personalizar el aspecto de la gráfica del lugar de las raíces, utilice rlocusplot.

  • Las gráficas creadas con rlocus no admiten títulos ni etiquetas multilínea especificados como arreglos de cadenas o arreglos de celdas de vectores de caracteres. Para especificar títulos y etiquetas multilínea, utilice una cadena única con un carácter newline.

    rlocus(sys)
    title("first line" + newline + "second line");

Algoritmos

El lugar de las raíces de un sistema dinámico contiene las trayectorias de los polos de lazo cerrado como una función de la ganancia de retroalimentación k (suponiendo un retroalimentación negativo). Los lugares de las raíces se utilizan para estudiar los efectos de la variación de las ganancias de retroalimentación en las ubicaciones de los polos de lazo cerrado. Por su parte, estas ubicaciones proporcionan información indirecta sobre las respuestas en el tiempo y en la frecuencia.

Puede utilizar rlocus para calcular el diagrama de lugares de las raíces de cualquiera de los siguientes lazos de retroalimentación negativos estableciendo sys como se muestra en la figura siguiente.

Por ejemplo, si sys es una función de transferencia representada por

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

los polos de lazo cerrado son las raíces de

d(s)+kn(s)=0

La gráfica del lugar de las raíces representa las trayectorias de los polos de lazo cerrado cuando la ganancia de retroalimentación k varía de 0 a infinito.

Historial de versiones

Introducido antes de R2006a

expandir todo