Graficar Una Funcion De Transferencia En Matlab
En este artículo, aprenderemos cómo graficar una función de transferencia en Matlab. Matlab es una herramienta poderosa para el análisis y la simulación de sistemas dinámicos. La visualización de funciones de transferencia es crucial para entender el comportamiento de un sistema. Seguiremos una guía paso a paso para lograrlo.
Definiendo la Función de Transferencia
Primero, necesitamos definir nuestra función de transferencia en Matlab. Una función de transferencia representa la relación entre la salida y la entrada de un sistema en el dominio de la frecuencia. Generalmente, se expresa como un cociente de polinomios en la variable 's' (operador de Laplace).
Supongamos que tenemos la siguiente función de transferencia: G(s) = (s + 2) / (s^2 + 3s + 1). Para representarla en Matlab, usamos los vectores de coeficientes de los polinomios del numerador y denominador.
Aquí está el código Matlab para definir esta función de transferencia:
num = [1 2]; % Coeficientes del numerador (s + 2)
den = [1 3 1]; % Coeficientes del denominador (s^2 + 3s + 1)
G = tf(num, den); % Crea el objeto función de transferencia
El comando `tf` crea un objeto de función de transferencia a partir de los vectores de coeficientes.
Graficando la Respuesta en Frecuencia (Diagrama de Bode)
Uno de los métodos más comunes para visualizar una función de transferencia es a través del diagrama de Bode. Este diagrama muestra la magnitud y la fase de la función de transferencia en función de la frecuencia. Matlab simplifica enormemente la creación de diagramas de Bode.
Para generar un diagrama de Bode de nuestra función de transferencia `G`, simplemente usamos el comando `bode(G)`:
bode(G);
grid on; % Activa la rejilla para mejor visualización
El comando `bode(G)` automáticamente calcula y muestra la magnitud (en decibelios) y la fase (en grados) en función de la frecuencia. `grid on` añade una rejilla para facilitar la lectura del gráfico.
Graficando la Respuesta Impulsional
Otra forma útil de visualizar una función de transferencia es a través de su respuesta impulsional. La respuesta impulsional representa la salida del sistema cuando la entrada es un impulso unitario (función delta de Dirac).
En Matlab, podemos obtener la respuesta impulsional usando el comando `impulse(G)`:
impulse(G);
title('Respuesta Impulsional'); % Añade un título al gráfico
Este comando muestra la evolución de la salida del sistema en el tiempo ante un impulso unitario.
Graficando la Respuesta Escalonada
La respuesta escalonada es similar a la respuesta impulsional, pero la entrada es un escalón unitario (función de Heaviside). Esta respuesta es útil para evaluar el tiempo de subida, el sobreimpulso y el tiempo de establecimiento del sistema.
Para obtener la respuesta escalonada en Matlab, utilizamos el comando `step(G)`:
step(G);
title('Respuesta Escalonada'); % Añade un título al gráfico
El gráfico resultante muestra cómo la salida del sistema se acerca al valor final cuando se aplica un escalón unitario en la entrada.
Personalización de los Gráficos
Matlab permite personalizar los gráficos generados. Podemos cambiar los colores, los tipos de línea, los títulos y las etiquetas de los ejes. Esto es útil para mejorar la claridad y la presentación de los resultados.
Por ejemplo, para cambiar el color del diagrama de Bode y añadir etiquetas a los ejes, podemos hacer lo siguiente:
bode(G, 'r'); % Dibuja el diagrama de Bode en rojo
xlabel('Frecuencia (rad/s)'); % Etiqueta el eje x
ylabel('Magnitud (dB) / Fase (grados)'); % Etiqueta el eje y
Existen muchas otras opciones de personalización disponibles en la documentación de Matlab.
Conclusión
Graficar funciones de transferencia en Matlab es esencial para el análisis de sistemas dinámicos. Hemos aprendido a definir una función de transferencia y a generar diagramas de Bode, respuestas impulsionales y respuestas escalonadas. La capacidad de visualizar el comportamiento de un sistema nos permite entender y optimizar su rendimiento. ¡Experimenta con diferentes funciones de transferencia y explora las opciones de personalización de Matlab para dominar esta habilidad!
