Practicas en matlab

28
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

Transcript of Practicas en matlab

Page 1: Practicas en matlab

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

Page 2: Practicas en matlab

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

Page 3: Practicas en matlab

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;

Page 4: Practicas en matlab

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)

Page 5: Practicas en matlab

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:

Page 6: Practicas en matlab

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

Page 7: Practicas en matlab

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:

Page 8: Practicas en matlab

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:

Page 9: Practicas en matlab

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.

Page 10: Practicas en matlab

UNIVERSIDAD NACIONAL DE LOJA ING. EN SISTEMAS

Unidad impartida por el Ing. José Benavides Compilación: Beatriz Pasaca

Page 11: Practicas en matlab

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

Page 12: Practicas en matlab

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

Page 13: Practicas en matlab

UNIVERSIDAD NACIONAL DE LOJA ING. EN SISTEMAS

Unidad impartida por el Ing. José Benavides Compilación: Beatriz Pasaca

PRÁCTICA 5:

Doble click

Page 14: Practicas en matlab

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:

Page 15: Practicas en matlab

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)

Page 16: Practicas en matlab

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)

Page 17: Practicas en matlab

UNIVERSIDAD NACIONAL DE LOJA ING. EN SISTEMAS

Unidad impartida por el Ing. José Benavides Compilación: Beatriz Pasaca

crosscorr(u,y8);

Page 18: Practicas en matlab

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.

Page 19: Practicas en matlab

UNIVERSIDAD NACIONAL DE LOJA ING. EN SISTEMAS

Unidad impartida por el Ing. José Benavides Compilación: Beatriz Pasaca

Page 20: Practicas en matlab

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

Page 21: Practicas en matlab

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:

Page 22: Practicas en matlab

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

Page 23: Practicas en matlab

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

Page 24: Practicas en matlab

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),

Page 25: Practicas en matlab

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

Page 26: Practicas en matlab

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

Page 27: Practicas en matlab

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.

Page 28: Practicas en matlab

UNIVERSIDAD NACIONAL DE LOJA ING. EN SISTEMAS

Unidad impartida por el Ing. José Benavides Compilación: Beatriz Pasaca