PrácticaINTRODUCCIÓN A MATLAB-SIMULINKIngeniería de Sistemas y Automática   Ángel M. Cuenca Lacruz   Julián J. Salt Llobre...
1. Objetivo.     El objetivo de esta práctica es familiarizarse con una herramienta científica de grandesprestaciones como...
Trabajemos ahora con diferentes comandos relativos a variables y veamos susconsecuencias:    >> who    >> whos    >> save ...
3. SIMULINK.     SIMULINK es un paquete gráfico para el diseño asistido por ordenador de sistemasfísicos (CACSD). Para ent...
c) Implementa ahora un esquema en el que la salida que proviene directamente del           generador y la proveniente del ...
En segundo lugar, para hacer esto con órdenes de Matlab debes recurrir a la orden impulse(para el impulso) y step (para es...
a) En Simlink: el bloque que define al modelo ahora lo podrás obtener en la librería   Discrete. Para utilizarlo correctam...
Próxima SlideShare
Cargando en…5
×

15894 pr cctica-3-introducciun-al-matlab-simulink

525 visualizaciones

Publicado el

0 comentarios
1 recomendación
Estadísticas
Notas
  • Sé el primero en comentar

Sin descargas
Visualizaciones
Visualizaciones totales
525
En SlideShare
0
De insertados
0
Número de insertados
1
Acciones
Compartido
0
Descargas
15
Comentarios
0
Recomendaciones
1
Insertados 0
No insertados

No hay notas en la diapositiva.

15894 pr cctica-3-introducciun-al-matlab-simulink

  1. 1. PrácticaINTRODUCCIÓN A MATLAB-SIMULINKIngeniería de Sistemas y Automática Ángel M. Cuenca Lacruz Julián J. Salt Llobregat 1
  2. 2. 1. Objetivo. El objetivo de esta práctica es familiarizarse con una herramienta científica de grandesprestaciones como es MATLAB/SIMULINK, que es preciso conocer pues se trata de unestándar en el cálculo científico actual. El alumno podrá utilizarla opcionalmente a lo largodel curso para analizar y simular diversos sistemas continuos y discretos. La sintaxis de loscomandos escritos en este entorno se ha transmitido hasta las aplicaciones de simulacióninteractiva que será muy utilizada durante este curso, por lo que conviene conocerla. Para llevar a cabo el objetivo se propondrán sencillos ejercicios que ayudarán al alumno aadquirir destreza ante dicha aplicación científica.2. MATLAB. MATLAB está integrada por funciones aritméticas, comandos, librerías de funciones,gráficos y macros/funciones de usuario. Una de sus características más relevantes es que está orientada a matrices (MATrixLABoraty), es decir, todas las variables se definen como matrices en las que los tipos no esnecesario que se especifiquen. Se trata de un lenguaje interpretado. En concreto, MATLAB escapaz de trabajar con enteros, reales, complejos y cadenas de caracteres. Además dispone devariables predefinidas (como la variable pi, entre otras) y de una serie de comandosespecíficos que se irán viendo progresivamente a lo largo de la práctica y durante el curso. Para entrar en el programa hemos de hacer los siguientes pasos: Inicio – UPVNet –Aplicaciones Científicas – Matlab – Matlab 6.5.1. Una vez dentro de la aplicación vamos aempezar introduciendo una serie de datos (el símbolo >> es el prompt de la aplicación): >> A=[1 2 3; 4 5 6; 7 8 9] >> B=[1 2 3 456 7 8 9] >> C=[13; 14; 15; 16]; Fijarse como la matriz A y la B son iguales, ya que la forma de definirlas es equivalente.Fijarse también en el efecto del ; al final de toda la introducción de la variable C. Combinemos ahora las variables anteriores: >> A=[A; [10 11 12]] >> D=[A C] Comprobemos el resultado de las siguientes instrucciones, las cuales nos sirven paraacceder a diferentes elementos de la matriz D: >> D(2,3) >> D(2,:) >> D(:,2) >> D(1:2, 3:4) 2
  3. 3. Trabajemos ahora con diferentes comandos relativos a variables y veamos susconsecuencias: >> who >> whos >> save prueba.mat A >> clear A >> whos >> load prueba.mat >> whos Para saber más de cada comando presentado (y de otros cualesquiera) utiliza la ordenhelp seguida del nombre del comando a consultar. La orden help es de gran utilidad puestoque hace un breve resumen del uso del comando, así como informa de la sintaxis a utilizar. Elsímbolo ? de la barra de menú también conduce a un help, el cual es más interactivo y útilcuando se busca la existencia o no de cierto comando. Informarse de cuáles son los operadores aritméticos y de relación que usa MATLAB.Para ello teclea help ops. Después comprobar el efecto de estas instrucciones: >> A+B >> A*B >> C’ >> A<5 >> A>5 Hágase lo mismo con help lang en el que se encuentran los constructores que usaMATLAB. • Ejercicio 1: En base a dichos constructores impleméntese una sencilla macro de ejemplo que realice el factorial de un número pedido al usuario. Para realizarla es necesario un editor ascii. MATLAB cuenta con uno, el cual se habilita al teclear la orden edit. Por tanto, implementar la macro dentro del editor y después guardarla con el nombre factorial.m. Seguidamente teclear en el prompt el nombre factorial para habilitar dicha macro. Observar que el resultado es correcto. Además de la macros, MATLAB permite implementar funciones. Tanto las macros comolas funciones sirven para automatizar la ejecución sucesiva de varios comandos, pero sediferencian en que las funciones permiten parámetros de entrada y salida (cosa que no hacenlas macros). Por tanto, dependiendo del uso que se les quiera dar, se utilizarán unas u otras. • Ejercicio 2: Se propone pasar a función la macro anterior, de tal forma que tenga un parámetro de entrada (número a calcular su factorial) y otro de salida (resultado del factorial). Guardarla como factorial2.m y llamarla desde el prompt. Observar que el resultado es correcto. 3
  4. 4. 3. SIMULINK. SIMULINK es un paquete gráfico para el diseño asistido por ordenador de sistemasfísicos (CACSD). Para entrar en él se debe teclear el comando simulink en el prompt deMATLAB o bien pinchar en el botón que lo representa en la barra de menú. Al entrar en SIMULINK se abre una ventana. Se trata de la librería de SIMULINK, lacual está compuesta por diferentes elementos enmarcados bajo diversas categorías. Así, en lacategoría Simulink se encuentra, entre otras, las subcategorías siguientes: sources (fuentes),sinks (sumideros), discrete (sistemas discretos lineales), continuous (sistemas continuoslineales), nonlinear (sistemas continuos no lineales) y math (elementos matemáticos). Para empezar a diseñar un esquema SIMULINK se ha de abrir una ventana nueva (iconosuperior izquierda de la librería SIMULINK). Para realizar dicho diseño uniremos diferenteselementos de la librería, tras ser arrastrados con el ratón hacia la ventana del modelo. En dichaventana del modelo es interesante mencionar la opción Simulation de la barra de menú, ya quedentro de ésta está la opción Parameters, la cual nos servirá para definir los parámetros desimulación de nuestro modelo. En concreto, en la pestaña Solver tenemos los siguientesparámetros de relevancia: - Start time y Stop time: parámetros de inicio y fin de simulación. - Type: indica el tipo de sistema a simular (variable-step para sistemas continuos y fixed-step para sistemas discretos). En el caso de variable-step se habilita los cuadros max step size e initial step size (por defecto a auto) que marcan el periodo de muestreo máximo e inicial (respectivamente) a utilizar para la simulación, y los cuadros relative tolerance y absolute tolerance que fijan la tolerancia elegida para la ejecución de los algoritmos de simulación utilizados (cuadro que está a la derecha de Type). En el caso de fixed step se habilita el cuadro de fixed step size que define el periodo de muestreo del sistema discreto (por defecto a auto). Para una información más detallada de estos parámetros hacer uso del help de la ventanaSimulation parameters. • Ejercicio 3: a) Montar un esquema SIMULINK que conste de un generador de señales (signal generator) y un visualizador de señal (scope). Define los parámetros de ambos elementos, de tal forma que el generador de señal genere una onda senoidal de amplitud la unidad y de frecuencia 2 Hertz, y el visualizador mantenga sus parámetros por defecto. Ejecutar la simulación indicando un max step size e initial step size a 0.01 y observar la salida en el visualizador. b) Añade a ese esquema otro enlace compuesto por una ganancia (gain) y otro visualizador (este se puede obtener pinchando el ratón con el botón derecho sobre el scope que ya tenemos y, tras ello, arrastrar al lugar que queramos). Simula el esquema dándole diferentes valores (negativos, positivos y nulo) a la ganancia. Observa los resultados que presentan los visualizadores. 4
  5. 5. c) Implementa ahora un esquema en el que la salida que proviene directamente del generador y la proveniente del amplificador salgan por el mismo visualizador. Para ello ayúdate de un multiplexador de señal (mux). Obtén también la salida en una variable llamada yout, a través de un bloque to workspace. Simula el sistema y observa que la salida del visualizador y la correspondiente a plotear la variable yout desde el prompt de MATLAB (comando plot(yout)) son idénticas. Comprueba las características de la variable yout desde el entorno MATLAB. Haz uso de los comandos grid y zoom para la visualización de la variable ploteada.4. MATLAB-SIMULINK PARA EL CONTROL DE PROCESOS CONTINUOS Y DISCRETOS.La herramienta Matlab junto con Simulink nos permite simular de manera sencilla sistemas decontrol de diversa naturaleza. En esta parte de la práctica se va a mostrar cómo hacerloposible. Para ello se van a considerar sistemas continuos y discretos, presentándolos endiferentes configuraciones (bucle abierto (ba) y bucle cerrado (bc)).• Ejercicio 4: Sistemas Continuos en ba.En este ejercicio el objetivo es simular la respuesta en ba del modelo de primer ordencontinuo de una red RC (visto en clase de teoría) ante varias entradas diferentes (impulso,escalón y rampa). Para ello tendrás que formar en primer lugar un esquema Simulink como elque se muestra a continuación: 1 0.1s+1 Pulse RC=0.1 ba Generator3 1 0.1s+1 Step1 RC=0.1 ba1 1 0.1s+1 Ramp RC=0.1 ba2Recuerda que las entradas al sistema puedes encontrarlas en la librería Sources. Configuracorrectamente cada una para hacer posible su funcionalidad, según las definiciones vistas enteoría. Si lo necesitas, haz uso del botón de ayuda (Help), el cual se encuentra en la ventanaque surge tras dar doble click sobre el bloque seleccionado. Por otro lado, el bloque quedefine al modelo lo podrás obtener en la librería Continuous y las respuestas las podrás vercon el bloque Scope de la librería Sinks. 5
  6. 6. En segundo lugar, para hacer esto con órdenes de Matlab debes recurrir a la orden impulse(para el impulso) y step (para escalón). Para rampa no existe una orden asociada en Matlab.Introduce los valores del modelo en estos casos de la siguiente manera: impulse(1,[0.1 1]).Comprueba que las respuestas obtenidas ahora coinciden con las obtenidas anteriormente conSimulink.• Ejercicio 5: Sistemas Continuos en bc.En este ejercicio el objetivo es simular la respuesta en bc del modelo de primer ordencontinuo de la red RC del ejercicio anterior para una referencia escalón unitario. Se va aconsiderar el modelo en bc y en bc con ganancia de realimentación. Para ello tendrás queformar en primer lugar un esquema Simulink como el que se muestra a continuación: 1 0.1s+1 Step3 Transfer Fcn3 bc1 1 5 0.1s+1 Step2 Gain1 Transfer Fcn2 bcRecuerda que los bloques Sum (nudo sumador) y Gain (ganancia) los puedes encontrar en lalibrería Math.En segundo lugar, para hacer esto con órdenes de Matlab debes recurrir fundamentalmente ala orden feedback. Si haces un help de feedback verás que esta orden trata con modelosdefinidos como funciones de transferencia (fdt). Por tanto, lo primero es definir el modelo dela red RC como una fdt por medio de la orden tf (consúltala con help). Después ya, recurre afeedback para definir el modelo en bc e introdúcele un escalón unitario. En definitiva, debesseguir estos pasos desde el prompt de Matlab: sys1 = tf(1,[0.1 1]) sys = feedback(sys1,1) step(sys)Repítelo ahora para el caso de tener una ganancia de realimentación de valor 5.• Ejercicio 6: Sistemas Discretos en ba y bc.El objetivo en este ejercicio es discretizar la fdt continua considerada en los ejerciciosanteriores y simular el comportamiento en ba y bc del sistema discreto resultante. Para ellohas de seguir los mismos pasos que en los ejercicios precedentes teniendo en cuenta que: 6
  7. 7. a) En Simlink: el bloque que define al modelo ahora lo podrás obtener en la librería Discrete. Para utilizarlo correctamente, primero tienes que discretizar el sistema continuo. Utiliza la orden c2d desde Matlab, la cual te devolverá el sistema discreto a introducir en el bloque de Simulink.. Si le haces un help verás que hay diferentes métodos de discretización y que debes elegir un periodo de muestreo (T). Considera el método de ZOH (Zero Order Hold) y un T=0.01 seg. Recuerda que la fdt continua ya la tienes definida del ejercicio anterior (sys1).b) En Matlab: en vez de utilizar impulse y step utiliza dimpulse y dstep, que son las órdenes especificas para sistemas discretos.Para finalizar, comprueba que si en los diagramas de bloques de Simulink hechos en losejercicios 4 y 5 (de sistemas continuos) antepones un bloque ZOH al modelo del sistema(definido al periodo T considerado), las respuestas coinciden con las de este ejercicio 6. 7

×