Gráfico del lugar geométrico de las raíces en MATLAB
Este tutorial discutirá cómo calcular y trazar el lugar geométrico de las raíces de un sistema dinámico usando la función rlocus()
en Matlab.
Calcule y represente gráficamente el lugar geométrico de las raíces de un sistema dinámico utilizando la función rlocus()
en MATLAB
Usamos el lugar geométrico de las raíces para verificar el efecto de la variación de la ganancia de retroalimentación en las ubicaciones de los polos de bucle cerrado, y estas ubicaciones brindan información sobre la respuesta de tiempo y frecuencia.
La función rlocus()
calcula y traza el lugar geométrico de las raíces de un sistema dado. Proporciona las trayectorias polares de lazo cerrado de la función dada, una función de ganancia de retroalimentación. Tenemos que pasar la función de transferencia del sistema dentro de la función rlocus()
para trazar el lugar de las raíces de esa función.
Por ejemplo, creemos la función de transferencia de un sistema usando la función tf()
y tracemos su lugar de raíces usando la función rlocus()
en Matlab. Vea el código a continuación.
sys = tf([2 5 1],[1 2 3]);
rlocus(sys)
Producción:
El símbolo x
dona los polos en la salida, y el símbolo o
dona los ceros de la función de transferencia del sistema.
También podemos trazar múltiples lugares geométricos de raíces de múltiples sistemas usando la función rlocus()
. Si pasamos funciones de transferencia de múltiples sistemas en la función rlocus()
, trazará el lugar geométrico de las raíces de todos los sistemas en el mismo gráfico con diferentes colores.
Podemos usar la función legend()
para dar el nombre a cada parcela para identificarlas fácilmente. Por ejemplo, tracemos el lugar geométrico de las raíces de dos sistemas y agreguemos la leyenda usando la función legend()
.
Vea el código a continuación.
sys1 = tf([2 5 1],[1 2 3]);
sys2 = tf([2 2 1],[1 2]);
rlocus(sys1,sys2)
legend('sys1','sys2')
Producción:
También podemos encontrar los valores de las ubicaciones de los polos en lazo cerrado y la ganancia de retroalimentación usando la función rlocus()
. Por ejemplo, busquemos las ubicaciones de los polos en bucle cerrado y los valores de ganancia de retroalimentación del sistema anterior. Vea el código a continuación.
sys = tf([2 5 1],[1 2 3]);
[R,K] = rlocus(sys)
size(R)
Producción :
ans =
2 55
En la salida, puede ver que el tamaño de la variable R
- 2 por 55.