P. 1
ManualMatlab (1)

ManualMatlab (1)

|Views: 4|Likes:
Published by Karlitosman

More info:

Published by: Karlitosman on Mar 07, 2013
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

10/07/2013

pdf

text

original

Universidad Pontificia Comillas E.T.S.I – I.C.A.

I Departamento de Electrónica y Automática

Manual de referencia de

MATLAB & SIMULINK

Febrero 2000 Adolfo Anta Martínez Juan Luis Zamora Macho Ramón Rodríguez Pecharromán

UPCo ICAI - DEA

MATLAB & SIMULINK Manual de referencia

Tabla de Contenidos

1. 2. 3.

INTRODUCCIÓN................................................................................................................... 3 FUNCIONES MATEMÁTICAS COMUNES .......................................................................... 4 CARACTERÍSTICAS DE LA VENTANA DE COMANDOS ................................................. 6 3.1. 3.2. 3.3. CÓMO UTILIZAR EL WORKSPACE ....................................................................................... 6 FORMATOS DE NÚMEROS ................................................................................................. 6 GESTIÓN DE DIRECTORIOS ............................................................................................... 6

4. 5. 6.

M-FILES ................................................................................................................................ 7 OPERACIONES CON VECTORES ...................................................................................... 9 REPRESENTACIONES GRÁFICAS .................................................................................. 11 6.1 LA FUNCIÓN PLOT .............................................................................................................. 11 6.2 ESTILOS DE LÍNEA, MARCAS Y COLORES .............................................................................. 12 6.3 FIJAR REJILLAS, EJES, Y ETIQUETAS.................................................................................... 13

7.

TOOLBOX DE CONTROL ................................................................................................. 16 7.1 REPRESENTACIÓN DE UN SISTEMA ...................................................................................... 16 7.2 FUNCIONES ESPECÍFICAS ................................................................................................... 17 7.3 LTIVIEW .......................................................................................................................... 20

8.

AYUDA................................................................................................................................ 22 8.1. 8.2. EL COMANDO HELP ........................................................................................................ 22 LA VENTANA DE AYUDA................................................................................................... 22

9.

SIMULINK ........................................................................................................................... 23 9.1 INTRODUCCIÓN .................................................................................................................. 23 9.2 CONSTRUCCIÓN DEL MODELO............................................................................................. 24 9.3 SIMULACIÓN ...................................................................................................................... 27 9.4 MODELADO DE UN SISTEMA FÍSICO ...................................................................................... 28

2

UPCo ICAI - DEA

MATLAB & SIMULINK Manual de referencia

1. Introducción
MATLAB es una aplicación destinada a cálculos matemáticos, si bien dispone de ciertas funciones destinadas a temas más específicos, como por ejemplo la ToolBox de control, que facilita el estudio de sistemas dinámicos y su regulación. Además, existe un complemento de MATLAB llamado SIMULINK, que nos permite un enfoque más gráfico de los sistemas de control. Al ejecutar MATLAB, aparecerá una ventana en blanco, llamada ventana de comandos. La forma de trabajar con MATLAB es como con cualquier calculadora: » 4*2 [ pulsamos enter] ans = 8 A su vez, podemos usar variables para realizar nuestros cálculos: » precio = 17; » iva =0.16; » precio_total =17 * (1+iva) precio_total = 19.7200 Acabamos de crear tres variables, cuyo valor se guardará en memoria. En las dos primeras sentencias se incluye un punto y coma al final, con lo que el resultado no aparecerá por pantalla. El nombre que elijamos para nuestras variables tiene algunas restricciones: no pueden tener un espacio intermedio, se distinguen mayúsculas de minúsculas, y deben empezar por una letra. Si queremos ver las variables que tenemos definidas, teclearemos el comando who: » who Your variables are: iva precio precio_total

Por supuesto, se puede sobreescribir el nombre de una variable: » iva =0.13; (el programa no nos avisará de que esa variable ya existe) . Para borrar todas las variables, existe el comando clear: tecleando clear iva borraría esta variable , pero si escribimos sólo clear, borrará todo lo que hay en memoria; por desgracia, una vez eliminadas, las variables no se pueden recuperar. Podemos recuperar cualquier instrucción escrita previamente pulsando la tecla del cursor ­. Para detener la ejecución de cualquier instrucción, hay que pulsar la combinación de teclas Ctrl+C. 3

Devuelve un ángulo entre 0º y 360º coseno de x seno de x tangente de x exponencial ex logaritmo neperiano de x logaritmo en base 10 de x resto de la división x / y sitúa el ángulo x entre pi y -pi halla las raíces del polinomio x encuentra la solución de la ecuación f(x)=0. para realizar una operación que incluya una raíz cuadrada escribimos: » x = 3 .f(x)= 'x^2+x+3' ) sqrt(x) angle (x) real(x) imag(x) Valor absoluto de x. raíz cuadrada de x ángulo de x parte real de x parte imaginaria de x 1 MATLAB trabaja únicamente en radianes.UPCo ICAI .n) (ej. Si x es un número complejo. n es el valor por donde empieza a iterar para hallar la solución.y) cos (x) sin (x) tan (x) exp (x) log(x) log10 (x) rem(x. 4 . se procede de igual manera que en una calculadora programable. Funciones matemáticas comunes MATLAB incluye ciertas funciones que nos permiten realizar cálculos más complejos que sumar y restar.1743 Una lista breve de las funciones de MATLAB sería: FUNCIONES HABITUALES abs(x) acos(x)1 asin (x) atan (x) atan2(x.sqrt (5/6) * 2 x= 1. Devuelve un ángulo entre -90º y 90º arco tangente de x entre y.y) unwrap(x) roots(x) fzero('f(x)'.DEA MATLAB & SIMULINK Manual de referencia 2. abs(x) nos da su módulo arco coseno de x arco seno de x arco tangente de x. Para usar estas funciones.. por ejemplo.

-3) ans = 146.3) ans = -33.6901 » 180/pi*atan2(-2.UPCo ICAI .6901 » 180/pi*atan(2/-3) ans = -33.0000i como unidad imaginaria 2 La constante pi viene definida por defecto en MATLAB 5 . pues si la parte real del número complejo es negativa.DEA MATLAB & SIMULINK Manual de referencia Es recomendable trabajar con atan2 en vez de atan. el ángulo quedará en el segundo o tercer cuadrante.3099 Para la función atan los números complejos -2+3j y 2-3j tienen la misma fase. Para definir un número complejo. nos da el ángulo correcto.0000 + 2.0000 + 2.6901 » 180/pi*atan2(2. atan2. se puede usar i o j indistintamente: » c1=-1+2j c1 = -1. sin embargo. Se ha multiplicado por 180/pi para obtener el resultado en grados2. Por ejemplo: » 180/pi*atan(-2/3) ans = -33.0000i » c1=-1+2i c1 = -1.

Cómo utilizar el Workspace Todas las variables que hemos definido se guardan en el Workspace. Para que deje de grabar la sesión teclearíamos diary off.UPCo ICAI . mientras que nuestros ficheros (M-files o modelos de SIMULINK) suelen estar en otras carpetas.2. Podemos elegir el tipo de archivo. Formatos de números Se habrá observado que por defecto todos los números nos aparecen con cuatro decimales. cd. que no es más que el espacio de memoria que utiliza MATLAB. Las variables x e y han de estar previamente definidas. dir para ver el contenido de un directorio. y MATLAB creará el fichero con extensión . Gestión de directorios Por defecto. con el formato que aparece por defecto. todas las instrucciones que hemos tecleado en la ventana de instrucciones. si bien es recomendable que éste sea de texto (por ejemplo. Se puede cambiar el formato de salida seleccionando el menú File\Preferences. resulta útil guardar sesiones de trabajo. Aparte de crear y borrar variables.txt). Para recuperar las variables guardadas teclearemos: » load datos 3. Para ello. algunos números pueden aparecer por pantalla como 0.mat.3. diary c:\regulación\resumen. al arrancar MATLAB empezamos en el directorio matlab\bin. Cabe destacar que. 6 . aunque realmente no son 0 (sino 3. por ejemplo). 3. para salir de una directorio. es decir.. También podemos guardar únicamente el valor de algunas variables: » save c:\regulación\datos x y Aquí no es necesario añadir la extensión.1. usaremos los comandos típicos de MS-DOS: cd para acceder a un directorio. Características de la ventana de comandos 3.DEA MATLAB & SIMULINK Manual de referencia 3.0000.5·10-7. Para "movernos" en MATLAB. al inicio de la sesión tecleamos diary <nombre del fichero>.

m. modulo=abs(comp) fase=unwrap(180/pi*phase(comp)) Una vez guardado el archivo (con el nombre trabajo. nos bastará teclear su nombre en MATLAB. » comp2=-10+j. son ficheros de texto donde tecleamos las instrucciones de MATLAB.4222 fase = 140. por ejemplo). Ahora tendremos que definir antes el valor de comp1 y comp2 (si no. MATLAB nos dará un error diciendo que las variables comp1 y comp2 no están definidas): » comp1=-3+2i. » trabajo modulo = 13. hacemos clic en File\New\M-File. es habitual escribir las instrucciones en la ventana de comandos. Por ejemplo: % Mi primer programa en MATLAB3 comp1=-2+3i. M-files Cuando realizamos cálculos simples. cuando se van a realizar una serie de operaciones más complicadas y de forma repetitiva. 7 . nos aparecerá una ventana en blanco para editar el archivo. Para crear un nuevo archivo M. se utilizan los llamados M-Files. comp=comp1+comp2. bastará con borrar las dos primeras líneas del programa anterior. comp2=-10+5i.7222 3 El símbolo % indica que esa línea es comentario.UPCo ICAI .3417 fase = 160. y se ejecutará directamente: » trabajo modulo = 14. Sin embargo.0267 Supongamos que queremos que este programa sirva no sólo para los complejos comp1 y comp2. Para ello.DEA MATLAB & SIMULINK Manual de referencia 4.

DEA MATLAB & SIMULINK Manual de referencia También podíamos hacer que el programa pidiese los números complejos al usuario (pues éste no tiene por qué saber qué es comp1 y comp2): comp1=input('Introduzca el primer número complejo -> '). modulo=abs(comp) fase=unwrap(180/pi*phase(comp)) 8 . comp=comp1+comp2. comp2=input('Introduzca el segundo número complejo -> ').UPCo ICAI .

y para tomar del elemento 7 al último teclearemos y(7:end) En caso de querer representar la función seno(x).1416 Tal como hemos visto.01:pi). Por ejemplo. separados por un espacio o una coma Si ahora escribimos sin (x).8*pi 0. Operaciones con vectores Hasta ahora.1991 0. La instrucción es: x= (valor_inicial:incremento:valor_final).5*pi 0. existe una forma “automática” de crear un vector.8850 Columns 8 through 11 2. por ejemplo seno(0.3*pi 0. y la diferencia entre elementos consecutivos es 0. definiremos x de la forma: » x=[0 0.5878 0. también se pueden definir vectores.3090 0.9425 1.8090 0. escribiremos y(1:5). necesitaríamos bastantes más de 11 elementos para obtener una gráfica aceptable.6283 2.01*pi 9 .5878 0.8274 0. queremos hallar el valor de seno (x) para 0 < x < p. debemos definir una serie de valores de x.5*pi).5133 3.9511 Columns 8 through 11 0.9*pi pi] x= Columns 1 through 7 0 2.2*pi 0. Si tomamos 11 puntos.DEA MATLAB & SIMULINK Manual de referencia 5.9511 1. Escribir 1000 elementos resultaría bastante tedioso.0000 0. todas las variables utilizadas eran escalares.2566 1.3090 0. %Esta instrucción nos crea un vector x con valor inicial x.3142 0.0000 Para manejar un único elemento del vector.5708 1.4*pi 0. Por supuesto.UPCo ICAI .7*pi 0.8090 0.1*pi 0.6*pi 0. Como era de suponer. para crear un vector fila es necesario escribir entre corchetes los elementos. nos referiremos a él como el elemento 6 del vector y: » y(6) ans = 1 Si queremos utilizar los 5 primeros elementos. valor %final pi. hallaremos el seno de todos los valores de x: » y=sin(x) y= Columns 1 through 7 0 0. Por ejemplo: X=(0:0. Como es imposible hallar todos los valores (hay infinitos puntos).

y así hasta pi. escribiendo un ".UPCo ICAI . ultimo. Las diferentes formas de crear un vector aparecen resumidas en la siguiente tabla: Construcciones básicas de vectores X = [2 2*pi sqrt(2) 2-3j] X = primero : ultimo X=primero:incremento:ultimo X=linspace(primero. acabando en el elemento ultimo En este caso. " al final de la sentencia. con n elementos Crea un vector logarítmico De igual manera. 0.DEA MATLAB & SIMULINK Manual de referencia Es muy recomendable escribir el ".02pi . " para indicar que es una fila distinta: » x= [ 2 3 .n) X=logspace(primero. 2 5 ] x= 2 3 2 5 10 .n) Crea un vector con los elementos espeficados Crea un vector empezando en primero. incrementando una unidad en cada elemento. acabando en ultimo. ultimo.01pi. pues si no aparecerán cada uno de los elementos del vector por pantalla: 0. 0. el incremento no es 1 sino que es fijado por nosotros Crea un vector empezando en primero. se pueden crear matrices.

y) Debería aparecernos una ventana del tipo Figure: Fig 1. si quisiésemos representar la función seno: » x = (0:0. cambiar su color y copiar para utilizarla en otro documento. añadiremos una nueva ventana tecleando figure en MATLAB. reducir . es habitual utilizar el comando plot(eje x.).DEA MATLAB & SIMULINK Manual de referencia 6. Si ya teníamos abierta una ventana Figure. Representacion gráfica de funciones con el comando plot Esta gráfica se puede ampliar. eje x2. eje y1. eje y).UPCo ICAI . Para evitarlo. Es posible dibujar más de una gráfica en una ventana. escribiendo plot(eje x1.. eje y2. Por ejemplo. » y = sin(x).1 La función plot Para representar gráficos en dos dimensiones. al usar plot.. por ejemplo: 11 . » plot (x.. desaparecerá la gráfica anterior sin previo aviso.01:2*pi). Representaciones gráficas 6.

La ventana Figure se dividirá en una matriz de m por n pequeñas ventanas.5 0 -0. Representación de varias gráficas con subplot 12 .DEA MATLAB & SIMULINK Manual de referencia » z = cos(x).n.z) %La ventana Figure se dividirá en dos.1. y se seleccionará la ventana i-ésima. plot(x.i).5 0 -0. Por ejemplo: subplot(2. selecionamos la primera %Representamos y=sin(x) %Ahora selecionamos la segunda %Representamos z=cos(x) 1 0.5 -1 1 0.1).y) subplot(2.2).z) También podemos dividir la ventana en varias partes con el comando subplot (m. plot(x.y.UPCo ICAI .5 -1 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 Fig 2. » plot(x.x.1.

Para ello. existen ciertos parámetros que admite la función plot. 'rx'. después de cada par de variables. O x + * s d p Marca Puntos Círculos cruces más estrellas cuadrados diamantes pentagramas Símbolo : -. y han de introducirse como un tercer argumento.2 Estilos de línea. Estilos de línea y colores con la función plot 13 . -Estilo de línea línea continua línea punteada puntos y rayas discontinua Fig 3. x.UPCo ICAI .DEA MATLAB & SIMULINK Manual de referencia 6. Símbolo b g r c m y k w Por ejemplo: » plot( x. y. 'o--') Color Azul Verde Rojo Cyan Magenta Amarillo Negro Blanco Símbolo . marcas y colores Es posible modificar el color y estilo de las gráficas. z.

Una vez tecleado ginput.5]) Para volver al autoescalado. ejes. con el ratón podemos decidir dónde situar el texto – Existe también el comando legend. Después de todas estas operaciones. ‘variable Z’) El cuadro de la leyenda se puede situar donde queramos. – Se puede tomar valores de una gráfica con la instrucción ginput. cuya función es similar a la de gtext: » legend (‘variable Y’. nos aparecerá la ventana Figure. Los comandos zoom y legend no pueden estar activos a la vez. Otra forma de ampliar o reducir las gráficas es usando la función zoom. teclearemos axis auto. con el comando axis: La estructura a escribir es: axis ([xmin xmax ymin ymax]) » axis([0 2*pi -1.5 1. Para quitarla. la gráfica resultante es: 14 . Después pulsaremos enter y el valor de las coordenadas del punto aparecerán en la ventana de comandos de MATLAB.UPCo ICAI . arrastrandolo con el ratón. – También se puede cambiar los ejes. escribimos grid off. basta con teclear grid on.DEA MATLAB & SIMULINK Manual de referencia 6. xlabel ('variable independiente'). Podemos escribir los nombres de los ejes y de la gráfica: » title('Representación de las funciones seno y coseno’'). y con el ratón haremos clic en el punto que queramos conocer. y etiquetas – – Para fijar una cuadrícula en la ventana Figure. ylabel ('variables dependientes') – Podemos escribir en el gráfico con la función gtext: » gtext('cos(x)') Al pulsar enter nos aparecerá la ventana Figure. pues los dos responden al clic del ratón.3 Fijar rejillas.

5 Fig 4.5 Representación de las funciones seno y coseno 1 s e t n e i d n e p e d s e l b a i r a v 0.UPCo ICAI . Edición de figuras en MATLAB 15 .DEA MATLAB & SIMULINK Manual de referencia 1.5 -1 variable Z variable Y 0 1 2 3 4 variable independiente 5 6 -1.5 sen(x) cos(x) 0 -0.

2472i -0. Ésta se puede expresar como cociente de polinomios.0891i 0.3333 .0891i 4 5 Teclear ctrldemo para ver una demostración de las posibilidades que ofrece esta Toolbox El argumento 'v' se incluye para obtener numerador y denominador en forma de vectores 16 . Toolbox de control 4 7.den). » planta = tf ( [ 1 1] . podemos quedarnos únicamente con el numerador y/o denominador: » [num.3333 + 1. donde k no es la ganancia estática.den) r= 0.1667 .DEA MATLAB & SIMULINK Manual de referencia 7. p.2472i k= 0.1 Representación de un sistema El primer problema que se nos plantea es la definición de un sistema.p. También podemos obtener la descomposición en fracciones simples: » [r.1667 + 0. k] = residue (num. sino la que se obtiene al expresar la función de transferencia en forma de polos y ceros.0.k] = tf2zp (num. con la instrucción tf : escribiremos entre corchetes los coeficientes de numerador y denominador (en sentido descendente de las potencias de la variable s).3333 . z= -1 p= -0. Los sistemas se suelen expresar en forma de función de transferencia. [3 2 5] ).1. nos definiría F ( s) = 1+ S 3× S + 2× S + 5 2 De esta representación.den] = tfdata (planta .UPCo ICAI . ' v ' )5 num = den = 3 2 5 0 1 1 u obtener los polos y ceros del sistema: » [z.

0891 0.j 1.3333 .j 0. valor % final = 103. % Creamos vector w. con valor inicial en 10-2.wu. nos mostrará el primer diagrama. » [Mg.2472i k= [] El coeficiente k representa el término independiente. Si queremos dibujar un diagrama para unas pulsaciones determinadas.2472i -0.2472 S + 0. F(s) también se puede expresar como: F ( s) = 0.2472 7. es necesario definirse previamente el vector de pulsaciones w: » w = logspace (-2.fase. Es decir.1667 .3333 .2 Funciones específicas Existen diversos comandos en MATLAB para dibujar gráficos de respuesta en frecuencia: » bode (planta) » pause » nichols (planta) » pause » nyquist (planta) % Diagrama de Nyquist desde w = -¥ hasta w = +¥ % Diagrama de Black % Diagrama de Bode Si no incluyesemos la instrucción pause.1667 + j 0.Mf.3333 + j 1.wo]=margin (ganancia. 1001). y no pasará al siguiente hasta pulsar cualquier tecla.3333 + 1. 3.w) Podemos hallar también los márgenes de ganancia y/o fase y pulsaciones asociadas: » [ganancia.w) Mg = 7. de esta manera. fase] =bode (planta).1. que valdrá 0 siempre que el orden del numerador sea inferior al del denominador. con 1001 puntos » bode (planta.DEA MATLAB & SIMULINK Manual de referencia p= -0. nos aparecerá únicamente la última gráfica (el diagrama de nyquist en nuestro ejemplo).3343 17 .0891 + S + 0.UPCo ICAI .

Lugar de las raíces de la función de transferencia "planta" Con este gráfico.1:1.5 s i x A g a m I 0 -0.DEA MATLAB & SIMULINK Manual de referencia Mf = Inf wu = 1. es posible diseñar para obtener unos polos determinados.8258 wo = NaN En este caso.wn) % Nos muestra rectas de pendiente zeta y % circunferencias de radio wn » zoom % Definimos x y wn 18 . no tenemos margen de fase.5 -1 -1. Existen también funciones para dibujar el lugar de las raíces: » rlocus(planta) 1. Para obtener mayor precisión. y por tanto no existe la pulsación de cruce (el término NaN significa Not-A-Number). » wn=1:10. es conveniente dibujar una rejilla radial: » zeta=0:0.UPCo ICAI .5 1 0.5 -4 -3 -2 Real Axis -1 0 1 Fig 5. » sgrid(zeta.

impulse).den]=pade(T.DEA MATLAB & SIMULINK Manual de referencia Y ahora hallamos la ganancia necesaria para obtener los polos » [gan. 19 . de orden n Simplifica la función de transferencia de sistema % Aparece un cursor en la ventana del % lugar de las raíces Para empezar a simular con nuestra función de transferencia.4078i gan = 4.polos]=rlocfind(planta) Select a point in the graphics window selected_point = -1.0554 + 1.4131i -1.0557 .0557 + 1.3339 polos = -1. existen numerosas funciones en MATLAB(step.4131i Otras funciones útiles de esta Toolbox son: dcgain(sistema) [num.1.UPCo ICAI . si bien lo más sencillo es utilizar SIMULINK o LTIVIEW. n) minreal(sistema) Halla la ganancia estática del sistema Devuelve el numerador y denominador de una aproximación de Pade de e-TS.

3 LTIVIEW Todo lo que hemos visto hasta ahora se puede hacer con un único comando de forma más intuitiva. pico . Para ello.etc. nos aparecerá en Plot Options varias posibilidades. lugar de las raíces. y para cualquier diagrama de respuesta en frecuencia. por ejemplo. diagrama de Bode.UPCo ICAI . podemos elegir el tipo de gráfica: ante un escalón. Pantalla del LTIVIEW Tipo de gráfica En el recuadro Workspace nos aparecen todas las funciones de transferencia que hemos definido. Para seleccionar una de ellas. Nyquist. podemos ver el margen de fase y ganancia de nuestra planta. para un escalón. además. 20 .DEA MATLAB & SIMULINK Manual de referencia 7. nos muestra el tiempo de establecimiento. etc. al seleccionar uno de ellos.. En Plot Type. tecleamos ltiview. Nos aparecerá la siguiente pantalla: Funciones de transferencia Fig 6. hacemos doble clic.

UPCo ICAI . para ver cuál es el valor en concreto. Fig 7. Análisis de sistemas con LTIVIEW 21 .DEA MATLAB & SIMULINK Manual de referencia Al seleccionar una de estas opciones. nos aparecerá un punto en la gráfica. es necesario mantener pulsado el ratón en ese punto.

2. nos aparecerá una lista de categorías de las funciones disponibles. Por ejemplo: » help sqrt SQRT Square root. Complex results are produced if X is not positive. Para facilitarnos la labor. Si no conocemos en concreto el nombre de la función. También es útil el comando demo . basta con teclear help nombre_de_función.DEA MATLAB & SIMULINK Manual de referencia 8. podemos usar el comando lookfor: »lookfor complex nos mostrará todas las funciones relacionadas con números complejos. se ha creado un archivo de ayuda al cual podemos recurrir en todo momento. Aunque en la ayuda aparezca la función en mayúsculas. Si escribimos help a secas. La ventana contiene un listado de todas las categorías de MATLAB. Haciendo clic en cualquiera de ellas. en la barra de herramientas. al usarla hemos de escribirla en minúscula (pues SQRT daría error). SQRT(X) is the square root of the elements of X. que nos permite hacer raíces cuadradas de matrices). y también una serie de comandos relacionados (en este caso sqrtm.1. La ventana de ayuda Existe una ventana específica para la ayuda de MATLAB. escribimos helpwin o hacemos clic en el icono . 8. 22 . Ayuda Existen demasiados comandos en MATLAB para poder recordarlos. El botón Tips nos describe brevemente cómo usar la ayuda.UPCo ICAI . El comando help Para recurrir a la ayuda. Para que aparezca. See also SQRTM El comando help nos muestra una pequeña descripción de la función. 8. que nos mostrará una pantalla con demostraciones de todas las posibilidades que ofrece MATLAB. pasaremos a una pantalla donde aparecen todas las funciones de esa categoría.

Por ejemplo. Para ejecutar Simulink. resulta bastante sencillo de emplear. haciendo doble clic en Linear aparecerá la siguiente ventana: 23 . Simulink 9. o bien hacer clic en el icono de herramientas de MATLAB. Nos aparecerán dos ventanas: una con las librerías de Simulink.1 Introducción Simulink es una extensión de MATLAB para la simulación de sistemas dinámicos. Al ser un entorno gráfico. 3. podemos teclear simulink desde MATLAB.UPCo ICAI . Librerías de Simulink En cada uno de los grupos que aparecen en la fig. en la barra Fig 8. y otra en blanco donde construiremos nuestro nuevo modelo.DEA MATLAB & SIMULINK Manual de referencia 9. estarán los bloques necesarios para simular nuestro sistema de control. .

UPCo ICAI . Diagrama de bloques del sistema de control 24 .DEA MATLAB & SIMULINK Manual de referencia Fig 9. Contenido de la librería Linear 9. Construcción del modelo Supongamos que se tiene el siguiente sistema de control: ref _ 10 S +1 S + 3·S + 5 Salida Fig 10.2.

el escalón es unitario y se da en t=1. en el que pondremos +Cada bloque tiene en sus extremos una o varias flechas. el puntero pasa a ser una cruz. Para introducir los valores que tendrán los bloques. elegimos Transfer Fcn y Gain. hacemos doble clic en cada uno de ellos. elegimos el bloque Sum. Al situarnos con el ratón en esas flechas.mat. To Workspace guarda la señal en memoria. y lo arrastramos hasta nuestra ventana vacía. Ahora necesitamos poner la referencia. Para cambiar los valores del escalón. Introducción de valores para cada bloque Se hará de igual manera para la constante (Gain) y el punto de suma (Sum). para ver la salida (o cualquier otra señal) hay varias posibilidades. Por el contrario. y el tiempo en que éste se produce. hacemos doble clic en el grupo Sources.UPCo ICAI . Para ello. Por defecto. y elegimos Step. arrastramos hasta la flecha del siguiente bloque. seguiremos los siguientes pasos: En el grupo Linear. Lo arrastramos hasta la ventana donde tenemos el modelo. Nos aparecerá el cuadro de diálogo correspondiente: Fig 11. para poder dibujarla después de la simulación (con el comando plot) o guardarla en un fichero de datos .DEA MATLAB & SIMULINK Manual de referencia Para construirlo en Simulink. hacemos doble clic en el bloque. Del mismo grupo. Las dos más utilizadas son los bloques Scope y To Workspace (en el grupo Sinks). 25 . El bloque Scope nos permite ver el comportamiento de una señal mientras se simula. Para conectar los bloques. Por último.

Después de construir el modelo. Los modelos de Simulink se guardan con extensión .UPCo ICAI .).mdl 26 . Modelo de Simulink del sistema de control La orientación por defecto de los bloques es "a derechas" (la entrada está en la izquierda.DEA MATLAB & SIMULINK Manual de referencia El modelo en Simulink quedará como en la figura siguiente: Fig 12. Esto se puede cambiar seleccionando el bloque y pulsando Ctrl+R o en el menú Format/Rotate Block.. la salida en la derecha). resulta conveniente guardarlo antes de empezar a simular (Menú File/Save as.

3. ésta se puede parar o hacer una pausa (en el mismo menú Simulation/Stop y Simulation/Pause) Si queremos ver la salida. y necesitará menos tiempo para llegar al régimen permanente. pues por ejemplo un sistema mecánico es mucho más rápido que uno térmico. Ésta última se tendrá que ajustar a nuestro sistema. En este menú también hay otras opciones. hacemos doble clic en el bloque Scope. Introducción de los parámetros de la simulación En este recuadro elegimos las características de la simulación. Una vez empezada la simulación. Las más importantes es Start time (que suele ser 0. Nos aparecerá la siguiente pantalla: 27 . elegimos Start del menú Simulation. Simulación Para simular el sistema ya construido.UPCo ICAI .DEA MATLAB & SIMULINK Manual de referencia 9.0) y Stop time. la única que usaremos es Parameters: Fig 13.

D]=linmod ('mi_planta'). pero resulta más sencillo utilizar Simulink.B. pues la función de transferencia se representa como F ( s ) = Y ( s) salida . escribimos las siguientes instrucciones: >> [A. mediante los bloques In y Out.DEA MATLAB & SIMULINK Manual de referencia Fig 14. Después hemos de definir una entrada y una salida. sino que tenemos un conjunto de ecuaciones que nos describe el comportamiento de un sistema real. desde MATLAB. y el último nos permite fijar los ejes. que aparecen en el gupo Connections. El quinto nos guarda la configuración de los ejes para posteriores simulaciones.UPCo ICAI . nos construimos cada una de las ecuaciones con bloques. y después. %Donde 'mi_planta' es el nombre del archivo 28 . y la cantidad de datos que queremos guardar. sólo eje x o solo eje y ). Esta función de transferencia se podría obtener resolviendo el sistema de ecuaciones. 9.C.4 Modelado de un sistema físico No siempre disponemos de una función de transferencia. El cuarto icono (con el símbolo de los prismáticos) hará que aparezca en pantalla la gráfica completa. = U ( s ) entrada Guardamos el modelo. Para ello. Visualización de la respuesta mediante el bloque Scope En la barra de herramientas existen varios iconos: los tres primeros fijan el tipo de zoom (ampliar eje x y eje y.

T1 ( s )) + ·(T3 ( s ) . Ejemplo:Intentaremos modelar el siguiente sistema térmico: 1 3 2 Datos: Potencia inyectada en bloque 3 Temperatura controlada en bloque 3 C1= 2 min kW / ºC R13 = 7.B.T1 ( s )) = C1·T1 ( s )·s R31 1 ·(T3 ( s ) .5 ºC / kW C2= 2.T2 ( s )) = C2 ·T2 ( s )·s R32 Representando estas ecuaciones en un modelo de Simulink.D).5 min kW / ºC R30 = 15 ºC / kW Las ecuaciones que nos describen este sistema son: Pg ( s ) = C3 ·T3 ( s )·s + 1 1 1 ·(T3 ( s ) . nos queda: 6 No se ha considerado el efecto de una posible perturbación.C.T0 ( s )) R32 R31 R30 1 ·(T3 ( s ) .den]=ss2tf (A. pues hemos de definir una única entrada y salida 29 .DEA MATLAB & SIMULINK Manual de referencia >> [num.5 min kW / ºC R23 = 10 ºC / kW 6 C3= 3.T2 ( s )) + ·(T3 ( s ) .UPCo ICAI .

>> [num.D).D]=linmod ('mi_planta').466·10 -6 ·S + 3. se han utilizado Tags o etiquetas (que se encuentran en Connections) El término 1/60 corresponde al cambio de unidades de minutos a segundos Ahora escribimos en MATLAB: >> [A. [T3] 1/15 1 In 1/60 [T3] Fig 15.B.527·10-9 = 3 (en segundos) Pg ( s ) S + 0.352·10-10 30 .UPCo ICAI . >> planta =tf(num.den) La función de transferencia entre la potencia aportada al sistema y la temperatura a controlar queda: T3 ( s ) 0.5 [T1] [T3] 1/10 [T2] 1 s 1 Out 1/3.B.C.257310 .004762·S 2 + 8.6 ·S + 2.den]=ss2tf (A.0032·S 2 + 2. Modelo de Simulink que representa el sistema térmico Para construir el modelo de una forma más clara.C.DEA MATLAB & SIMULINK Manual de referencia [T3] 1/15 [T1] 1 s 1/60 [T1] [T3] 1/25 [T2] 1 s 1/60 [T2] [T3] 1/7.

DEA MATLAB & SIMULINK Manual de referencia Una vez modelado el sistema. Debería quedarnos una ventana así: En este diagrama de bloques sí se ha incluido la perturbación. pulsando en una esquina y arrastrando hasta englobar a todos los elementos (no con la opción Edit/Select all). Para ello. Después hacemos clic en Edit/Create subsystem. que debería aparecer habilitada. resulta conveniente crear un bloque que agrupe nuestro sistema real.UPCo ICAI . 31 . seleccionamos todos los bloques.

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->