UNIVERSIDAD NACIONAL DE LOJA ING. EN SISTEMAS
Unidad impartida por el Ing. José Benavides Compilación: Beatriz Pasaca
Introducción a MATLAB
Fue creado para poder desarrollar matrices de grandes dimensiones y se deriva.
• Mat: Matrices • Lab: Laboratorio
MATLAB es el nombre abreviado de “MATrix LABoratory”. MATLAB es un programa para realizar cálculos numéricos con vectores y matrices, pudiéndose también trabajar con números escalares (tanto reales como complejos), con cadenas de caracteres y con otras estructuras de información. Además, MATLAB cuenta con un lenguaje de programación propio.
Desde el punto de vista de control, MATLAB se puede considerar un entorno matemático de simulación que puede utilizarse para codificar modelos y analizar los sistemas modelados. Permite el estudio de sistemas continuos, discretos, lineales y no lineales en el dominio temporal y de la frecuencia.
Otra característica de MATLAB es que cuenta con numerosos paquetes adicionales llamados “toolboxes”. En el caso que nos ocupa se utilizará el Control System Toolbox, pero es importante tener en cuenta que existen diversos toolboxes; cada uno de ellos destinado a una aplicación específica (control, estadística, procesamiento de señales, manejo de lenguaje simbólico, etc.).
La presente introducción se plantea como una guía práctica a fin de permitir la familiarización con los comandos de MATLAB que serán frecuentemente utilizados a lo largo esta materia.
El entorno de operación de MATLAB
Existen numerosas referencias bibliográficas (además del tutorial del programa) en donde se explica en detalle el entorno operativo de MATLAB (algunas de ellas figuran en el listado de referencias de este apunte). El objetivo de esta sección es presentar cada uno de los componentes del entorno MATLAB y proporcionar una breve descripción de los mismos:
Command Window: es la ventana principal del programa en donde se ejecutan los comandos e instrucciones lógicas.
Workspace: Es el espacio de trabajo en donde se almacenan todas las variables definidas a través del “Command Window”. Éste puede ser guardado en un archivo binario (*.mat) y cargado nuevamente, en otra ejecución del programa.
Command History: Almacena el listado de comandos ejecutados desde el “Command Window” de MATLAB. El historial se guarda automáticamente, quedando registradas cada una de las sesiones con fecha y hora. Una opción interesante, es seleccionar los comandos relevantes del
UNIVERSIDAD NACIONAL DE LOJA ING. EN SISTEMAS
Unidad impartida por el Ing. José Benavides Compilación: Beatriz Pasaca
“Command History” y generar con ellos un archivo *.m (secuencias de comandos, también denominadas scripts).
Current Directory: especifica el directorio de trabajo de MATLAB
Listado de comandos útiles
Todos los comandos que figuran a continuación se ejecutan desde el “Command Window” de MATLAB:
help: proporciona ayuda sobre un determinado ítem (toolbox, comando, etc.).
Ejemplo:
>> help symbolic %proporciona información sobre el Symbolic toolbox de MATLAB.
>> help plot %proporciona información sobre el coma ndo PLOT
clc: borra la pantalla del “Command Window”
clear: limpia las variables del “Workspace”. También se pueden borrar individualmente escribiendo:
>> clear nombre_de_la_variable
whos: proporciona un listado de las variables definidas en el “Workspace”. Podemos preguntar también por variables individuales:
>> whos nombre_de_la_variable
open: permite abrir los archivos que se encuentran en el “Current Directory” de MATLAB especificado, por ejemplo:
>> open nombre_del_archivo.m
UNIVERSIDAD NACIONAL DE LOJA ING. EN SISTEMAS
Unidad impartida por el Ing. José Benavides Compilación: Beatriz Pasaca
PRÁCTICAS EN CLASE
PRÁCTICA 1:
>> num=[1 4 2] ; >> den=[1 3 2]; >> G=tf(num,den) Transfer function: s^2 + 4 s + 2 ------------- s^2 + 3 s + 2 >> sisotool(G)
PRÁCTICA 2:
SIMULINK
Definimos las variables que vamos a utilizar:
>> a0=1;
>> a1=2;
UNIVERSIDAD NACIONAL DE LOJA ING. EN SISTEMAS
Unidad impartida por el Ing. José Benavides Compilación: Beatriz Pasaca
Hacemos doble click en scope para observar la curva de salida
PRÁCTICA 3:
• Reconocimiento De Imágenes • Crear un subsistema
Para cargar una imagen utilizamos el siguiente comando:
>> I = imread('C:\Users\bachita\Documents\DSC06254.JPG') Para visualizarla utilizamos:
>> imshow(I)
UNIVERSIDAD NACIONAL DE LOJA ING. EN SISTEMAS
Unidad impartida por el Ing. José Benavides Compilación: Beatriz Pasaca
Se desprenderá una ventana con la figura de la ruta especificada:
Para obtener un subsistema lo hacemos de la siguiente forma:
UNIVERSIDAD NACIONAL DE LOJA ING. EN SISTEMAS
Unidad impartida por el Ing. José Benavides Compilación: Beatriz Pasaca
Nos aparece el siguiente subsistema:
Para fijar la figura que se visualiza en el centro, clik derecho y configuramos lo siguiente
UNIVERSIDAD NACIONAL DE LOJA ING. EN SISTEMAS
Unidad impartida por el Ing. José Benavides Compilación: Beatriz Pasaca
Ahora configuramos las entradas y salidas de alinealizacion:
UNIVERSIDAD NACIONAL DE LOJA ING. EN SISTEMAS
Unidad impartida por el Ing. José Benavides Compilación: Beatriz Pasaca
Para que salgan los vinoculares:
Podemos observar que ahora nuestro subsistema que da de la siguiente forma:
UNIVERSIDAD NACIONAL DE LOJA ING. EN SISTEMAS
Unidad impartida por el Ing. José Benavides Compilación: Beatriz Pasaca
Ahora configuramos los siguientes puntos para poder trabajar con bode, definir los polos y ceros para poder estabilizar la curva:
En pestaña ´Analysis Plots´ de la siguiente ventana activamos step que significa un paso.
UNIVERSIDAD NACIONAL DE LOJA ING. EN SISTEMAS
Unidad impartida por el Ing. José Benavides Compilación: Beatriz Pasaca
UNIVERSIDAD NACIONAL DE LOJA ING. EN SISTEMAS
Unidad impartida por el Ing. José Benavides Compilación: Beatriz Pasaca
PRÁCTICA 4:
Datos;
FT=5.8/5 k�1/s� K=5.8 C=tf(k,[1 0]) K=0.0100 R=0.050 J=0.01 L=0.02 b=0.1
V=K*W+i*R+1*di
T=K+i – b*w’- J*dw
Una vez realizado el diseño y antes de hacerlo correr definimos las variables en el command window
UNIVERSIDAD NACIONAL DE LOJA ING. EN SISTEMAS
Unidad impartida por el Ing. José Benavides Compilación: Beatriz Pasaca
>> K=0.0100; >> R=0.050; >> J=0.01; >> L=0.02; >> b=0.1; Ahora hacemos correr y hacemos click en cada uno de los scope Podemos visualizar las curvas de salida
UNIVERSIDAD NACIONAL DE LOJA ING. EN SISTEMAS
Unidad impartida por el Ing. José Benavides Compilación: Beatriz Pasaca
PRÁCTICA 5:
Doble click
UNIVERSIDAD NACIONAL DE LOJA ING. EN SISTEMAS
Unidad impartida por el Ing. José Benavides Compilación: Beatriz Pasaca
Definición de las variables en el command window
>> R=2.0; >> L=0.5; >> Km=0.1; >> Kemf=0.1; >> Kf=0.2; >>J=0.2; Salidas:
UNIVERSIDAD NACIONAL DE LOJA ING. EN SISTEMAS
Unidad impartida por el Ing. José Benavides Compilación: Beatriz Pasaca
PRÁCTICA 6: Diseñar el controlador para con los siguientes datos:
Steady_ satake: error=0 Rize time&(tiempode levantamiento) < 0.55 Setting Time(tiempo de demora) < 1.25 Overshot < 8% Gain Margin > 20 dB Pase Margin>40
PRACTICA 8
DISEÑO CADS(DISEÑO ASISTIDO POR COMPUTADORAS)
1ro cargamos la carpeta datos 2do En un archivo .m transcribimos:1 clear; clc; load u.dat ; %cargamos el mando load y8.dat ; %cargamos la salida t=[0:1:1023]'; figure(1)
UNIVERSIDAD NACIONAL DE LOJA ING. EN SISTEMAS
Unidad impartida por el Ing. José Benavides Compilación: Beatriz Pasaca
plot(t,y8); %ploteamos salida vs entrada ymax=max(y8); %valor maximo ymin=min(y8); %valor minimo figure(2)
UNIVERSIDAD NACIONAL DE LOJA ING. EN SISTEMAS
Unidad impartida por el Ing. José Benavides Compilación: Beatriz Pasaca
crosscorr(u,y8);
UNIVERSIDAD NACIONAL DE LOJA ING. EN SISTEMAS
Unidad impartida por el Ing. José Benavides Compilación: Beatriz Pasaca
nlags=10; show=1; dataprev=prev(t,u,y8,nlags,show) % permite conocer la calidad de muestreo!!! np=5; figure(4)
[Num,Den,Fit,atm]=idstrejc(t,y8,np); %luego de la ultima instruccion nos aparecen las si guientes interrogantes: Observe el grafico e introduzca el indice del punto de inflexión a utilizar: 3 Entre el vector de tiempos para simular: t Entre el vector de mediciones para simular: y8 [Num,Den,atm]=idstrejc(t,y8); [stab,phmin,np,nz]= jurystab(Num,Den) G = tf(Num,Den) Gz=c2d(G,0.1) sisotool(G)
Sisotool introducimos los datos necesarios como ya se había hecho en prácticas anteriores.
UNIVERSIDAD NACIONAL DE LOJA ING. EN SISTEMAS
Unidad impartida por el Ing. José Benavides Compilación: Beatriz Pasaca
UNIVERSIDAD NACIONAL DE LOJA ING. EN SISTEMAS
Unidad impartida por el Ing. José Benavides Compilación: Beatriz Pasaca
PRÁCTICA 8:
IDENT 1. Cargar los datos en el command window
>>load dryer2.mat >> ident
UNIVERSIDAD NACIONAL DE LOJA ING. EN SISTEMAS
Unidad impartida por el Ing. José Benavides Compilación: Beatriz Pasaca
Llamamos los datos del tiempo del dominio
2. Escogemos el tiempo de dominio de las señales y nos aparece la ventana Import data en
la que ingresamos la entrada y salida.
3. Llenamos los datos de la siguiente ventana y hacemos clik en more:
UNIVERSIDAD NACIONAL DE LOJA ING. EN SISTEMAS
Unidad impartida por el Ing. José Benavides Compilación: Beatriz Pasaca
La opción ´Inter Sample´: especifica el tipo de muestreo en este caso zoh para llevar de tiempo
continuo a digital:
zoh : indica como la señal de entrada esta muestreándose durante la adquisición.
Periodo aceptamos el dato por efecto inf que especifica la entrada no periódica.
Para entradas periódicas entrar el número de input periódicas en su experimento.
Si tenemos múltiples variables a la entrada usar la coma para separar la lista de variables a la
entrada y salida correspondiente a cada canal.
Input: es el nombre de los canales en este caso power, su unidad en W (Watios)
Output: la temperatura expresada en oC.
Cuando estimamos datos se los estima desde el modelo importado esto Se puede verificar ya
que la caja time domain dat o el gui que aparece importa datos desde una caja de dialogo.
Clik en importar
UNIVERSIDAD NACIONAL DE LOJA ING. EN SISTEMAS
Unidad impartida por el Ing. José Benavides Compilación: Beatriz Pasaca
Se desprende la ventana
Dibujar (plotear y procesar datos)
En el gui de la herramienta de identificación del sistema seleccionamos time plot
UNIVERSIDAD NACIONAL DE LOJA ING. EN SISTEMAS
Unidad impartida por el Ing. José Benavides Compilación: Beatriz Pasaca
Las curvas muestran ambos valores de entrada y salida
7. para restar los valores de promedios de datos de entrada y salida desde la salida de datos
seleccionamos en el GUI de SI, preprocess/remover means(remover promedios),
UNIVERSIDAD NACIONAL DE LOJA ING. EN SISTEMAS
Unidad impartida por el Ing. José Benavides Compilación: Beatriz Pasaca
8. Esta acción suma un nuevo set de datos al GUI de identificación de sistemas con el nombre de
defecto de datad….(the suffix d means deternd )dats
Y actualiza el time plot en la pantalla o display de Windows, el original y el detrend data tienen
un promedio de valores de cero.
clik en working data: q especifica el dato detrend al ser usado para estimar el modelo
9. Seleccionamos preprocess—select range: nos da el tiempo de muestreo de 1 a 1000
UNIVERSIDAD NACIONAL DE LOJA ING. EN SISTEMAS
Unidad impartida por el Ing. José Benavides Compilación: Beatriz Pasaca
Clik en insert
Doble clik en estimación para ver datos
10. Clik en quik star:
Se desprenden varias figuras
UNIVERSIDAD NACIONAL DE LOJA ING. EN SISTEMAS
Unidad impartida por el Ing. José Benavides Compilación: Beatriz Pasaca
Por defecto el modelo es evaluado en 128 valores de frecuencia (la frecuencia es la respuesta a
la transformada de furrier de rta a un sistema lineal). Rango de cero hasta la frecuencia de
Niquis.
Una vez determinada la frecuencia a analizar es necesario tomar en cuenta el teorema de
meuestreo de Shanon Niquis o teorema niquis que señala que la frecuencia mínima debe ser
por lo menos el doble de la máxima frecuencia de interés.
PROCEDIMIENTO PARA VALIDAR EL MODELO UTILIZANDO LA HERRAMIENTA QUIK STAR
Genera los siguientes dibujos durante la validación:
1. Dibujo de respuesta al paso
2. Dibujo de la respuesta de la frecuencia
3. Dibujo de la salida del modelo
El porciento de Fid indica la aceptación entre la rta del modelo y la salida del sistema
indicándonos asi que modelo es el mejor, por ejemplo el promedio de 100 fid es perfecto un
valor de 0 fid indica un bajo o pobre fid.
UNIVERSIDAD NACIONAL DE LOJA ING. EN SISTEMAS
Unidad impartida por el Ing. José Benavides Compilación: Beatriz Pasaca