Beruflich Dokumente
Kultur Dokumente
1. INTRODUCCIÓN
MATLAB (MATrix LABoratory) es un software creado por la compañía The Mathworks que es
ampliamente utilizado debido a su versatilidad en el desarrollo de cálculos muy complejos
utilizando como unidad básica arreglos numéricos (vectores y matrices). No obstante, el uso de
herramientas conocidas como Toolboxes incluidas en el entorno, permiten crear aplicaciones
muy interesantes. Los usuarios pueden emplear funciones incluidas en el software para
desarrollar nuevas aplicaciones.
Para el análisis y diseño de sistemas de control se incluyen diferentes herramientas tales como:
Esta guía permitirá a los estudiantes realizar el manejo básico de algunas funciones de Matlab y
el uso de Simulink como herramientas para el análisis y diseño de sistemas de control.
3. OPERACIONES BÁSICAS
Se creará una señal senoidal con una frecuencia de 1Hz, una amplitud de 1 y se
visualizarán 3 segundos de esta señal.
En primer lugar, se creará un vector tiempo de la siguente manera:
tiempo=0:0.05:3; Esta sintaxis permite crear un vector cuyo valor mínimo es 0,
valor máximo 3 y se incrementará en 0.05.
Ahora, se creará la señal senoidal. Se usa este vector de tiempo para el respectivo cálculo.
Escribir lo siguiente: seno=1*sin(2*pi*1*tiempo); de esta manera se creará el
vector que contiene los valores de la función seno antes mencionada.
Ahora bien, se empleará el comando plot para realizar las gráficas. Se utiliza el comando
plot(tiempo,seno);.grid; De esta manera, aparecerá una ventana emergente
que permitirá visualizar el gráfico Amplitud Vs Tiempo de la señal senoidal, con una
grilla que facilita la visualización. Los resultados se muestran en la figura 1.
Ahora, se pide calcular una señal coseno que se graficará junto a la señal seno. Las
propiedades son las mismas. Usar el comando coseno=1*cos(2*pi*1*tiempo);
El comando para graficar las dos curvas en la misma ventana será el siguiente:
figure(2);plot(tiempo,seno,tiempo,coseno);grid; Se graficarán dos
señales desfasadas 90º una de otra. El comando figure(2); crea una nueva ventana
donde se graficarán las señales seno y coseno creadas.
Para recibir información sobre la interacción de las funciones anteriormente empleadas,
usar el comando help funcion; para recibir ayuda de MATLAB. Por ejemplo, usar
el comando help plot mostrará las opciones que tiene la función de graficación plot.
De esta manera, se puede obtener información referente al funcionamiento de
CUALQUIER funcion que se encuentre incluida en MATLAB o en cualquiera de sus
Toolboxes.
x 2 y 3z 8;
6 x 8 y 11z 1;
5x y 4 z 0
Se creará una función de transferencia del tipo H(S)=1/(2s+1). El sistema tiene una
constante de tiempo de 2 segundos al cambio de escalón.
Para esto, se crea un par de vectores que serán el numerador y el denominador de H(s).
crear un vector num=[1]; y un vector den=[2 1]. El vector den está en potencias
decrecientes de la variable compleja s.
Ahora, se creará la función de transferencia con el comando tf. Escribir
Hs=tf(num,den)
Finalmente, para observar la respuesta ante el escalon unitario de esta función de
transferencia, se puede usar el comando step(Hs). Los resultados se muestran en la
figura 3.
Figura 3. Respuesta ante el escalón de una función de transferencia
Escribir el comando simulink; de esta manera iniciará simulink. Dar click en el ícono New
y aparecerá una ventana con un área blanca. De igual manera, se activa una ventana que
muestra las diferentes librerias.
Se creará una simulación donde se realice la excitación de dos señales escalón unitario
para un sistema de segundo orden. Se observará la señal de entrada y la señal de salida.
Para esto, es necesario utilizar los siguientes bloques:
o Librería Simulink, bloque commonly used block, elemento Bus Creator.
o Librería Simulink, bloque commonly used block, elemento Scope.
o Librería Simulink, bloque continuous, elemento Transfer fcn.
o Librería Simulink, bloque sources, elemento Step.
En el bloque Transfer fcn dar doble click. Observar que aparecen renglones donde se
puede configurar los coeficientes del numerador y del denominador y tienen sintaxis de
creación de vectores. Dejar el numerador como [1] y el denominador cambiarlo a [2 1]
En el bloque Step, dar doble click. En el parámetro Step time configurarlo al valor 15,
inicial value cambiarlo a 1 y final value cambiarlo a 2. De esta manera, se obtiene una
excitación tipo escalón de magnitud 1 al sistema cuando inicia la simulación y cambiará a
un escalón de magnitud 2 a los 15 segundos.
En la parte superior, modificar el tiempo de simulación (aparece un recuadro configurado
en 10.0). Cambiarlo a 30. de esta manera, la simulación tomará 30 segundos.
Para cambiar los parámetros de la simulación (métodos numéricos empleados, paso de
desarrollo de los métodos, tiempos máximos y minimos, entre otras) se puede acceder al
menú simulation>configuration parameters y usar la opción solver. Debe tenerse en
cuenta una buena configuración para evitar errores en los pasos de solución de los
métodos numéricos, esto para sistemas MUY complejos o cuando se trabaje con sistemas
en tiempo discreto.
Unir los puertos de entrada y salida de los bloques. Luego, presionar el botón de inicio y
abrir el objeto scope. Ver la figura 4 donde se muestran los resultados.
Los resultados de los scope en Simulink se pueden almacenar como vectores o estructuras
de datos en el workspace. Esto es con el fin de mejorar la visualización de los datos
obtenidos en los informes. Dar doble click en el objeto Scope y acceder a la opción
Parameters en la barra de herramientas del objeto. En la pestaña Data History se puede
MANIPULAR la máxima cantidad de datos que se despliegan en el elemento, el cuál se
puede manipular en caso de disponer de grandes. Activar la opción Save data to
workspace, seleccionar como formato array y modificar el nombre a conveniencia.
Una vez ejecutada la simulación, observar que en el workspace se ha creado una matriz,
cuya cantidad de columnas corresponde a la magnitud de las señales y el tiempo. La
primer columna SIEMPRE es el tiempo.
Se graficarán las señales nuevamente, en un plot , con los siguientes comandos (ver figura
5):
o tiempoSim=ScopeData(:,1);
o senal1=ScopeData(:,2);
o senal2=ScopeData(:,3);
o plot(tiempoSim,senal1,tiempoSim,senal2);