Sie sind auf Seite 1von 7

FACULTAD DE INGENIERÌA

ESCUELA DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA


LABORATORIO DE FUNDAMENTOS DE CONTROL
PERIODO AGOSTO-DICIEMBRE DE 2009
INTRODUCCIÓN AL SOFTWARE MATLAB

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.

MATLAB dispone de un ambiente gráfico llamado Simulink, en el cuál se interconectan bloques


y se pueden emplear datos y variables provenientes del Workspace para realizar las
simulaciones. Este entorno facilita enormemente el desarrollo de nuevas aplicaciones y facilita
varios aspectos en términos de depuración y edición. De igual manera, algunos bloques de los
toolboxes se encuentran disponibles en Simulink.

Para el análisis y diseño de sistemas de control se incluyen diferentes herramientas tales como:

 Control System toolbox: Toolbox dedicado al análisis y diseño de sistemas de control.


Dispone de una herramienta gráfica conocida como Sisotool que permite ajustar sistemas
de control, usando el modelo de una planta, características de los bloques de
realimentación, actuadores, perturbaciones. Los controladores se pueden ajustar y
observar el comportamiento del sistema ante diversas señales de entrada.
 Signal processing toolbox: Este paquete permite procesar señales. Por ejemplo, en
ocasiones es necesario crear filtros para realizar un sistema de control de seguimiento de
referencia y es necesario diseñar filtros óptimos que, inclusive, pueden ser implementados
en hardware.
 Curve fitting toolbox, System identification Toolbox: El primero facilita la
interpolación de datos. El segundo permite obtener modelos en la variable compleja s de
una serie de datos.

2. OBJETIVOS DE ESTA GUÍA

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

3.1 Creación de señales y representarlas gráficamente

 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.

Figura 1. Resultados al crear la señal seno.

 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.

Figura 2. Resultados al graficar las señales seno y coseno.

3.2 Manipulación de vectores y matrices

 Cree un vector x con 10 elementos del 1 al 10, de la siguiente manera: x=1:10;


 Los elementos en un vector se acceden como nombreArreglo(Elemento), donde elemento
va de 1 hasta n.
 Ahora, si queremos observar los primeros 5 elementos escribir el comando x(1:5)
 Una matriz se crea separando los elementos de cada COLUMNA por espacios y las filas
se separan con “;”.
 Crear una matriz y asi: y=[1 2 3;4 5 6;7 8 9];
 Para acceder a una fila en particular, por ejemplo la segunda fila se puede usar el
comando y(2,:). Esto equivale a una sintaxis como “de la segunda fila, seleccione
TODOS los elementos. Si la sintaxis cambia a y(2,1:2) se seleccionarán los primeros
2 elementos de la segunda fila.
 Para acceder a columnas de una matriz, la sintaxis cambia a y(:,3). En este caso, se
está accediendo a la tercera columna de la matriz. Evidentemente, se retorna un VECTOR
COLUMNA.
 De igual manera, para seleccionar elementos de una columna, se utiliza la sintaxis
y(2:3,3),donde se seleccionan los elementos de las 2 ultimas filas de la ultima
columna de la matriz y.
 El acceso a un elemento de la matriz se realiza con nombreMatriz(fila)(columna), donde
fila y columna se encuentran entre 1 y n (filas) y 1 y m (columnas).
 Es posible obtener transpuestas de vectores y matrices. Agregar simplemente la comilla
simple al nombre del arreglo. Por ejemplo, usar transX=x’; donde se obtiene el
vector columna del vector x. Al usar el comando transY=y’ se obtiene la matriz
transpuesta de y.
 También es posible realizar la solución de un sistema de ecuaciones gracias a las
operaciones matriciales. Recuerden que un sistema de ecuaciones se puede expresar de la
forma AX=B, donde la solución es X=A-1B.
 Resolver el siguiente sistemas de ecuaciones:

x  2 y  3z  8;
 6 x  8 y  11z  1;
5x  y  4 z  0

 La matriz A se crea como A=[1 2 3;-6 8 11;5 1 4] y el vector columna B se


crea como: B=[8 -1 0]’.
 La inversa de A se crea con el comando InvA=inv(A);
 Finalmente, se puede calcular la solución al sistema de ecuaciones asi: X=InvA*B;
 En este caso, se ha usado UNA MULTIPLICACION de matrices sin inconvenientes.
Estas operaciones no solamente se limitan a esto. Tambien se puede realizar un producto
elemento por elemento, sumas, restas, entre otros.

3.3 Creación de funciones de transferencia y sistemas en espacio de estado

 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

 Es posible realizar una conversión de un modelo expresando en función de transferencia


al espacio de estados. El comando que debe emplearse para este ejemplo es:
[A1,B1,C1,D1]=tf2ss(num,den); En este caso, la función tf2ss retornará 4
matrices A1,B1,C1,D1 propias del modelo en espacio de estados del sistema.
 De igual manera, se pueden obtener el numerador y denominador de las funciones de
transferencia de acuerdo al modelo en espacio de estados. Emplear ahora
[num1,den1]=ss2tf(A1,B1,C1,D1,1) y comparar los vectores num1, den1 con
los vectores num,den.

3.4 Uso de Simulink

 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.

Figura 4. Primera simulación en Simulink

 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);

Figura 5. Grafica de datos generados en Simulink en el workspace

3.5 Actividades adicionales

 El libro INGENIERÍA DE CONTROL MODERNA de K. Ogata dispone de una serie de


ejercicios al finalizar cada uno de sus capítulos donde emplea el programa Matlab. En
Internet hay gran cantidad de tutoriales e inclusive, la ayuda de la herramienta dispone de
MULTIPLES ejemplos al respecto.
 Leer el documento guia_matlab.pdf presente en el Campus Virtual, para afianzar algunas
habilidades adicionales en el manejo del software. Realizar los ejercicios

Das könnte Ihnen auch gefallen