You are on page 1of 39

Universidad de Chile Facultad de Ciencias F sicas y Matem aticas Departamento de Ingenier a El ectrica

n a Matlab y Simulink Introduccio

Preparado por Diego Sep ulveda J. Version 1.0, 6 de agosto de 2002

Introducci on
Matlab es un poderoso sistema el cual permite el tratamiento num erico de una gran cantidad de aplicaciones en ingenier a, tales como: procesamiento de se nales, an alisis estad sticos, interpolaci on de curvas, series de tiempo, simulaci on y control de sistemas, l ogica difusa, redes neuronales, identicaci on de par ametros, etc. El nombre Matlab se debe a que en realidad consiste en un laboratorio de matrices (Matrix laboratory), raz on por la cual es excelente para el c alculo num erico de vectores y valores propios, descomposiciones de matrices y cualquier aplicaci on que involucre matrices. Adem as de lo mencionado anteriormente, Matlab tambi en incluye un subprograma llamado Simulink, el cual permite la simulaci on de todo sistema din amico lineal y casi cualquier sistema no lineal. A pesar de la gran cantidad de aplicaciones mencionadas anteriormente, este apunte est a enfocado hacia las aplicaciones orientadas hacia el control de sistemas. Si el lector desea ahondar m as sobre los aspectos generales de Matlab entonces deber a referirse a [1]

II

Indice general
1. Lo b asico 1.1. Matrices . . . . . . . . . . . . . . . . . . . . . . . 1.1.1. Denici on y asignaci on de variables . . . . 1.1.2. Operando con matrices . . . . . . . . . . . 1.1.3. Matrices especiales . . . . . . . . . . . . . 1.1.4. Manipulaci on de matrices . . . . . . . . . 1.1.5. Arreglos . . . . . . . . . . . . . . . . . . . 1.2. Variables y Funciones . . . . . . . . . . . . . . . . 1.2.1. Variables . . . . . . . . . . . . . . . . . . . 1.2.2. Funciones . . . . . . . . . . . . . . . . . . 1.2.3. Algunas Variables y Funciones de utilidad 1.3. Gr acos . . . . . . . . . . . . . . . . . . . . . . . 1.3.1. Figuras . . . . . . . . . . . . . . . . . . . 1.3.2. Gr acos en 2D . . . . . . . . . . . . . . . 2. Simulink 2.1. Diagramas de Bloques . . . 2.2. Usando Simulink . . . . . . 2.2.1. Librer a Continuos 2.2.2. Librer a Discrete . 2.2.3. Librer as Sources y 2.2.4. Otras Librer as . . . A. Funciones Comunes . . . . . . . . . . . . . . . . . . . . Sinks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1 1 2 3 5 7 8 8 9 9 12 12 12 17 17 18 19 19 20 21 25

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

iii

IV

INDICE GENERAL

Cap tulo 1 Lo b asico


Dado que todas las aplicaciones de Matlab se basan en el uso de matrices, lo primordial en este cap tulo es mostrar c omo utilizarlas, posteriormente se ver an los distintos tipos de variables y funciones que existen, para nalmente aprender el manejo de gr acos.

1.1.
1.1.1.

Matrices
Denici on y asignaci on de variables

Para introducir una matriz en Matlab s olo se debe introducir los n umeros de la matriz entre par entesis cuadrados ([ ]), las columnas se separan por espacios y las las por punto y coma (;)1 . Por ejemplo: >> A=[3 4 5 ; 3 2 7] A = 3 3 4 2 5 7

Como se puede ver en el ejemplo anterior las variables se asignan mediante un signo igual (=) de la misma manera que en lenguajes como JAVA o C.
1

; tambi en se utiliza para suprimir la visualizaci on del resultado

Matrices

1.1.2.

Operando con matrices

Para transponer2 matrices s olo hay que poner despu es de la matriz o de la variable un ap ostrofe (), siguiendo con el ejemplo anterior quedar a: >> A ans = 3 4 5 3 2 7

En la variable ans mostrada en el ejemplo anterior, Matlab guarda el resultado de la u ltima operaci on ejecutada. Las operaciones aritm eticas son igual que ne la mayor a de los lenguajes, as para sumar (o restar) s olo hay utilizar el signo + (o -), para multiplicar se utiliza el asterisco (*) y para dividir por la derecha (izquierda) se utiliza (/ (\)). 3 Por ejemplo: >> B=[1 2 3; 4 5 6]; >> C=A+B C = 4 7 >> D=C*A D = 76 114 80 126 6 7 8 13

Para potenciar una matriz se utiliza el s mbolo (), seguido del exponente que se desea. Si se desea invertir una matriz se puede hacer de dos maneras: elevando la matriz a -1 o utilizando la funci on inv:
En el caso de que se utilicen n umeros complejos se obtiene la conjugada transpuesta Obviamente para poder realizar estas operaciones es necesario que las dimensiones de las matrices sean consistentes.
3 2

1.1.3 Matrices especiales >> A=[2 2 ; 0 1] A = 2 0 >> inv(A) ans = 0.5000 0 -1.0000 1.0000 2 1

En el cuadro 1.1 se muestra un resumen de los operadores matriciales. Operaci on Multiplicaci on Divisi on por la derecha Divisi on por la izquierda Potenciaci on Transposici on conjugada S mbolo * / \

Cuadro 1.1: Operadores para a lgebra matricial

1.1.3.

Matrices especiales

Dado que existen matrices que son muy utilizadas en la pr actica Matlab incluye funciones espec cas para crearlas: ones crea una matriz de unos zeros crea una matriz de ceros eye crea la matriz identidad La utilizaci on de las tres es muy similar, se introduce primero el n umero de las y posteriormente el n umero de columnas; como muestra el siguiente ejemplo:

4 >> A=ones(3,2) A = 1 1 1 1 1 1

Matrices

>> B=zeros(3,5) B = 0 0 0 >> C=eye(3) C = 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0

>> C=eye(3,4) C = 1 0 0 0 1 0 0 0 1 0 0 0

N otese que si se desea la matriz identidad de orden n s olo hay que introducir n, pero si se desea una rectangular se utiliza igual que las funciones anteriores. Otro tipo de matrices com unmente utilizadas son los vectores, los cuales se pueden denir como cualquier matriz. La importancia radica en que muchas veces se utilizan para indexar alguna serie de elementos, para denirlos de esta manera se utiliza (:), de la siguiente manera:

1.1.4 Manipulaci on de matrices n umero inicial:paso:cota superior Por ejemplo: >> 1:4:19 ans = 1 5 9 13 17

1.1.4.

Manipulaci on de matrices

Una aplicaci on de uso frecuente consiste en seleccionar algunas columnas, las o simplemente elementos de alguna matriz; esto se logra con la utilizaci on de par entesis despu es del nombre del nombre de la variable y de dos puntos (:). A continuaci on se muestran algunos ejemplos para la matriz denida anteriormente: >> A(1,1) ans = 2 >> A(:,1) ans = 2 0 >> A(2,:) ans = 0 >> A(4) 1

6 ans = 1

Matrices

En el primer ejemplo se obtiene el elemento a11 de la matriz, en el segundo ejemplo la primera columna, el tercer ejemplo se obtiene la segunda la, y para el u ltimo ejemplo se obtiene el cuarto elemento de la matriz. La numeraci on del u ltimo ejemplo es por columnas (as a11 es 1 , a21 es 2 , a12 es 3 , a22 es 4 ). Adem as de seleccionar elementos, muchas veces es u til eliminar alg un(os) elemento(s) de la matriz4 , para lograr lo anterior se utilizan un par de par entesis cuadrados. As , por ejemplo, si se desea borrar la segunda columna de una matriz dada: >> A=[1 2 6; 3 4 8; 5 7 9; 3 4 9]; >> A(:,2)=[ ] A = 1 3 5 3 6 8 9 9

Es importante notar que tanto la selecci on como la eliminaci on de elementos de una matriz se puede realizar utilizando un vector como conjunto ndices a utilizar. Por ejemplo: >> A=0:1:10 A = 0 1 2 3 4 5 6 7 8 9 10

>> indice=1:2:11 indice =


4

Sin embargo, s olo se puede hacer si la estructura resultante sigue siendo una matriz

1.1.5 Arreglos 1 3 5 7 9 11

>> B=A(indice) B = 0 2 4 6 8 10

obtiene los n umeros que est an en las posiciones impares del vector A. Muchas veces es u til concatenar matrices, lo cual se puede utilizar utilizando los par entesis cuadrados ([ ]). Por ejemplo para concatenar horizontalmente: >> B=[1 2 3; 4 5 6]; >> C=[1 ; 2]; >> [B C] ans = 1 4 2 5 3 6 1 2

y para concatenar verticalmente: >> B=1:1:4; >> C=4:-1:1; >> [B ; C] ans = 1 4 2 3 3 2 4 1

Obviamente las dimensiones de las matrices deben ser consistentes con la concatenaci on.

1.1.5.

Arreglos

Los arreglos son matrices, pero poseen una aritm etica distinta en cuanto a la multiplicaci on y divisi on. Estas operaciones se ejecutan elemento a

Variables y Funciones

elemento, y para que sean consistentes los arreglos deben ser de las mismas dimensiones. Para diferenciar las operaciones matriciales de las operaciones de arreglos los operadores van precedidos por un punto (.), como se muestra en el cuadro 1.2. Operaci on Multiplicaci on Divisi on por la derecha Divisi on por la izquierda Potenciaci on Transposici on no conjugada S mbolo .* ./ .\ . .

Cuadro 1.2: Operadores para a lgebra de arreglos Por ejemplo: >> A=[1 3 4; 4 2 6]; >> B=[3 4 8; 7 8 0]; >> A.\B ans = 3.0000 1.7500 1.3333 4.0000 2.0000 0
bij aij

corresponde a la divisi on de arreglos por la izquierda de A por B, i.e.

i, j .

1.2.
1.2.1.

Variables y Funciones
Variables

Existen varios tipos de variables en Matlab, las m as comunes son: double corresponden a las matrices y arreglos num ericos. char son los arreglos de caracteres, se denen entre ap ostrofes ():

1.2.2 Funciones >> Z=hola Z = hola

1.2.2.

Funciones

Las funciones son, al igual que en la mayor a de los lenguajes, subrutinas que facilitan el trabajo, por ejemplo la funci on mean calcula el promedio o media de un set de datos: >> A=1:1:4; >> mean(A) ans = 2.5000 Lo importante con respecto a las funciones en Matlab es que vienen algunas incluidas en el programa (built-in functions) y otras viene dentro de los distintos toolboxes que trae Matlab (por ejemplo mean). Generalmente las funciones vienen con alguna ayuda de su utilizaci on, la cual se puede visualizar a trav es de la funci on help.

1.2.3.

Algunas Variables y Funciones de utilidad

Matlab trae muchas variables y funciones predenidas, algunas de estas variables se muestran en el cuadro 1.3, mientras que algunas funciones m as utilizadas aparecen en el cuadro 1.4. Si se aplica alguna de las funciones matem aticas a alguna matriz se obtiene una matriz en la que los elementos han sido evaluados por la funci on. Por ejemplo: >> X=0:0.1:1; >> exp(-X) ans =

10 Nombre pi i j Inf NaN eps

Variables y Funciones Descripci on El n umero m as famoso del mundo Unidad imaginaria Lo mismo que i, pero para los el ectricos Innito No es un n umero Precisi on relativa de punto otante, 252 Cuadro 1.3: Variables Predenidas

Descripci on Funci on seno de X Funci on coseno de X Funci on tangente de X Funci on exponencial de X Funci on logaritmo natural de X Gr aca Y versus X Borra la variable A Calcula el determinante de la matriz A Calcula los valores y vectores propios de la matriz A poly(A) Calcula los coecientes del polinomio caracter stico de la matriz A roots(coef) Calcula los ra ces del polinomio cuyos coecientes vienen en coef sum(X) Suma los elementos del vector X length(X) Retorna el largo del vector X size(A) Retorna las dimensiones de la matriz A help funcion Entrega ayuda sobre la funci on funcion lookfor palabra Retorna las funciones en las que aparece el string palabra Cuadro 1.4: Funciones B asicas m as comunes Columns 1 through 7 1.0000 0.9048 0.8187 0.7408 0.6703 0.6065 0.5488

Nombre sin(X) cos(X) tan(X) exp(X) log(X) plot(X,Y) clear(A) det(A) eig(A)

1.2.3 Algunas Variables y Funciones de utilidad Columns 8 through 11 0.4966 0.4493 0.4066 0.3679

11

12

Gr acos

1.3.

Gr acos

Para gracar en Matlab fundamentalmente se utiliza la funci on plot mencionada anteriormente, sin embargo tambi en es posible gracar en forma escalonada, utilizando s olo l neas verticales, utilzando n umeros complejos o en 3D, entre muchas maneras de gracar. A continuaci on se detallan las m as utilizadas y los comandos m as u tiles relacionados.

1.3.1.

Figuras

Una gura es una ventana en la cual se desplegan los gr acos obtenidos mediante Matlab. Esto presenta varias ventajas las cuales se mostrar an m as adelante. Aunque, generalmente, las guras se generan por defecto al crear un gr aco, a veces es necesario pedir otra gura a Matlab, para esto se utiliza el comando figure, el cual genera otra gura en la pantalla. El modo de utilizarlo es: >> figure Si se desea cerrar alguna gura se utiliza la funci on close, seguida del n umero de la gura. Si se quiere cerrar todas las guras entonces se ejecuta: >> close all lo cual cierra todas las guras existentes5 .

1.3.2.

Gr acos en 2D

Como se menciona anteriormente se utiliza la funci on plot, tal como se muestra en el siguiente ejemplo: >> t=0:0.1:5; >> plot(t,exp(-t)) lo cual produce como resultado la g. 1.1. Para que plot funcione ambos vectores deben tener el mismo largo. Si X o Y es una matriz entonces el vector es gracado versus las las o columnas de la matriz, dependiendo de con cual se alinee.
5

De manera an aloga clear all borra todas las variables

1.3.2 Gr acos en 2D
1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0

13

0.5

1.5

2.5

3.5

4.5

Figura 1.1: Ejemplo de plot Adem as plot tiene m as opciones las cuales se pueden ver en la ayuda de la funci on. Una forma de gracar com unmente usada es aquella en la cual se encuentran dos gr acas en la misma gura . Lo anterior se puede lograr de varias maneras, dos de ellas son: >> plot(t,exp(-t),t,sin(t)) >> plot(t,[exp(-t); sin(t)]) las cuales producen el mismo resultado (g. 1.2). Sin embargo, hay otra opci on la cual consiste en utilizar la funci on hold que retiene el gr aco actual y agrega el gr aco deseado a la gura actual. Para el ejemplo anterior: >> >> >> >> plot(t,exp(-t)) hold on plot(t,sin(t)) hold off

cuyo resultado se muestra en la g. 1.3. La utilizaci on de hold off es para soltar la gura.

14
1 0.8 0.6 0.4 0.2 0 0.2 0.4 0.6 0.8 1

Gr acos

0.5

1.5

2.5

3.5

4.5

Figura 1.2: Dos gr acas en la misma gura Para crear una leyenda de las gr acas se utiliza la funci onlegend(string1, string2, ...), donde los string i son los textos de cada gr aco para la leyenda, as para el ejemplo anterior, la instrucci on: >> legend(exponencial, seno) produce la g. 1.4. Tambi en es posible gracar en escalonada utilizando la funci on stairs(X,Y) de manera an aloga al uso de la funci on plot, con la diferencia que los elementos del vector X deben ser equiespaciados. Si se quiere gracar se nales de tiempo discreto se puede utilizar la funci on stem(X,Y), cuyo uso es an alogo a las funciones anteriores. Muchas veces es muy u til agrupar varios gr acos en una misma gura, lo cual se consigue f acilmente con la funci on subplot(m,n,i), la cual divide la gura en una matriz de mn y el gr aco se agrega en el elemento i- esimo. Adem as, tiene la ventaja de agregar gr acas que ocupen distinto tama no en la gura resultante. Por ejemplo, las siguientes instrucciones: >> X=-pi:0.1:pi; >> subplot(3,2,1)

1.3.2 Gr acos en 2D
1 0.8 0.6 0.4 0.2 0 0.2 0.4 0.6 0.8 1

15

0.5

1.5

2.5

3.5

4.5

Figura 1.3: Ejemplo de hold >> >> >> >> >> >> >> plot(X,sin(X)); subplot(3,2,2) plot(X,cos(X)); subplot(3,1,2) plot(X,cos(X)+sin(X)); subplot(3,1,3) plot(X,[cos(X);sin(X)]);

generan como resultado la g. 1.5. Tambi en hay funciones para poner t tulos, formatear los ejes, poner textos en cualquier parte de la gura, nombrar el eje x y el eje y, utilizar grilla, etc. La mayor a de las funciones anteriores aparece en la ayuda de la funci on plot. No hay que olvidar que todas las instrucciones anteriores pueden combinarse, para producir las guras que uno desea.

16

Gr acos

1 0.8 0.6 0.4 0.2 0 0.2 0.4 0.6 0.8 1

exponencial seno

0.5

1.5

2.5

3.5

4.5

Figura 1.4: Ejemplo de legend


1 0.5 0 0.5 1 4 2 1 0 1 2 4 1 0.5 0 0.5 1 4 3 2 1 0 1 2 3 4 3 2 1 0 1 2 3 4 2 0 2 4 1 0.5 0 0.5 1 4 2 0 2 4

Figura 1.5: Ejemplo de subplot

Cap tulo 2 Simulink


Simulink es un sistema interactivo para simular sistemas din amicos nolineales. La gran ventaja de Simulink es su interfaz gr aca, mediante la cual se pueden implementar complicados modelos y obtener simulaciones en un tiempo extremadamente r apido a trav es de los diagramas de bloques.

2.1.

Diagramas de Bloques

En pocas palabras para utilizar Simulink s olo hay que saber c omo traducir una ecuaci on diferencial o de diferencias a un diagrama de bloques. Por ejemplo si se desea simular la respuesta de la siguiente ecuaci on diferencial y ( t ) + 3y ( t ) = 1 y (0) = 0 (2.1)

primero hay que generar el diagrama de bloques del modelo, el cual se observa en la g. 2.1. La implementaci on en Simulink se muestra la g. 2.2, y a

Figura 2.1: Diagrama de Bloques

17

18

Usando Simulink

Figura 2.2: Implementaci on en Simulink trav es de esta se obtiene la respuesta del sistema descrito por (2.1), la cual se aprecia en la g. 2.3.
0.35

0.3

0.25

0.2

0.15

0.1

0.05

10

Figura 2.3: Respuesta del sistema din amico

2.2.

Usando Simulink

Para utilizar Simulink s olo es necesario construir el diagrama de bloques mediante los bloques predenidos que vienen en la librer a. El uso de los bloques es bastante sencillo, s olo hay que arrastrar el icono del bloque al modelo que se est a construyendo. Si se desean cambiar los par ametros de los bloques s olo hay que hacer un doble click sobre su icono.

2.2.1 Librer a Continuos

19

Para conectar los bloques hay que situar el puntero del mouse sobre el puerto de salida del primer bloque, con lo que el puntero deber a cambiar a una cruz, y arrastrar el mouse hacia el puerto de entrada del siguiente bloque. A continuaci on se detallan los bloques m as utilizados.

2.2.1.

Librer a Continuos

En esta librer a se encuentran todos los bloques de tiempo continuo para sistemas lineales, los cuales son: Derivative: Derivada num erica de la se nal de entrada. Integrator: Integra la se nal de entrada. Memory: Retrasa la se nal en un tiempo de integraci on. State-Space: Representaci on en variables de estado. Transfer-Fcn: Representaci on en funci on de transferencia. Expresi on matricial para el numerador, expresi on vectorial para el denominador. El ancho de la salida debe ser igual al n umero de las del numerador. Los coecientes son potencias descendentes de s. Transport Delay: Aplica el retraso especicado a la se nal de entrada. Variable Transport Delay: Aplica un retraso a la primera se nal de entrada. La segunda entrada especica el retardo. Zero-Pole: Representaci on en polos y ceros. Expresi on matricial para los ceros. Expresi on vectorial para los polos y la ganancia. El ancho de la salida debe igualar el n umero de columnas de la matriz de ceros, o uno si los ceros son un vector.

2.2.2.

Librer a Discrete

Esencialmente es id entica a la anterior, pero para sistemas lineales de tiempo discreto, i.e. para ecuaciones de diferencias. Los bloques son: Discrete Transfer-Fcn: Funci on de transferencia discreta, an alogo al caso continuo.

20

Usando Simulink

Discrete Zero-Pole: Representaci on discreta en polos y ceros. Idem al caso continuo. Discrete Filter: Filtro discreto. Expresi on vectorial para el numerador y el denominador. Los coecientes son para potencias ascendentes de z1 . Discrete State-Space: Representaci on en variables de estado de tiempo discreto. Discrete-Time Integrator: Integraci on en tiempo discreto de la se nal de entrada. First-Order Hold: Retenedor de primer orden. Unit Delay: Muestrea y retiene con un per odo de muestreo de retraso. Zero-Order Hold: Retenedor de orden cero.

2.2.3.

Librer as Sources y Sinks

Estas librer as son aquellas que proveen las fuentes y los sumideros de los diagramas de bloques. Algunos de estos son: Clock: Librer a Sources. Genera el tiempo de simulaci on actual. Constant: Librer a Sources. Genera una constante especicada en el par ametro Constant value . Si Constant value es un vector y Interpret vector parameters as 1-D est a arriba (on), el valor constante es tratado como un arreglo 1-D. Sino, la salida es una matriz con las mismas dimensiones que el valor constante. Signal Generator: Librer a Sources. Genera varias formas de onda. Sine Wave: Librer a Sources. Genera una onda sinusoidal. Step: Librer a Sources. Genera un escal on. Display: Librer a Sinks. Representaci on num erica de los valores de entrada. Scope: Librer a Sinks. Representaci on gr aca de los valores de entrada versus el tiempo de simulaci on.

2.2.4 Otras Librer as

21

Stop Simulation: Librer a Sinks. Detiene la simulaci on cuando la entrada es distinta de cero. To File: Librer a Sinks. Escribe el tiempo y la entrada al archivo MAT especicado en formato la. El tiempo est a en la primera la. To Workspace: Librer a Sinks. Escribe la salida al arreglo o estructura especicado en el workspace principal de Matlab. Los datos no est an disponibles hasta que la simulaci on se detiene. XY Graph : Librer a Sinks. XY scope usando la ventana gr aca de Matlab. la primera entrada es usada como base temporal. Se ingresan los rangos del gr aco.

2.2.4.

Otras Librer as

Adem as de las librer as anteriormente detalladas, existen otras que proveen los siguientes bloques que son extremadamente u tiles: Fcn: Librer a Functions & Tables. Bloque para una expresi on general. Usa u como el nombre de la variable de entrada. Ejemplo: sin(u[1] * exp(2.3 * -u[2])) MATLAB Fcn: Librer a Functions & Tables. Pasa los valores de entrada a una funci on de Matlab para evaluarla. La funci on debe retornar un s olo argumento vectorial del largo de Output width. Ejemplos: sin, sin(u), foo(u(1), u(2)) Polynomial: Librer a Functions & Tables. Evaluaci on polinomial. Calcula P(u) dado por el arreglo de coecientes polinomiales P. P est a ordenado del mayor al menor orden, la forma aceptada por la funci on polyval de Matlab. S-Function: Librer a Functions & Tables. Bloque denible por el usuario. Los bloques pueden estar escritos en M, C, Fortran o Ada y deben cumplir los est andares de S-function. t,x,u y flag son autom aticamente entregados a la S-function por Simulink. Par ametros Extra pueden ser especicados en el campo S-function parameters. Abs: Librer a Math. Valor absoluto, i.e. y = |u|.

22

Usando Simulink

Dot Product: Librer a Math. Producto interno (punto). y = sum(conj( u1).*u2) Gain: Librer a Math. Ganancia elemento a elemento (y = K.*u) o ganancia matricial (y = K*u o y = u*K). Math Function: Librer a Math. Funciones matem aticas incluyendo funciones logar tmicas, exponencial, potenciaci on, y m odulo. Matrix Gain: Librer a Math. Ganancia elemento a elemento (y = K.*u) o ganancia matricial (y = K*u o y = u*K). MinMax: Librer a Math. La salida es el m nimo o m aximo de la entrada. Para una sola entrada, los operadores se aplican a trav es del vector de entrada. Para m ultiples entradas, los operadores se aplican a trav es de las entradas. Product: Librer a Math. Multiplica o divide las entradas. Especicar una de las dos opciones siguientes: 1. * o / para cada puerto de entrada (ej., **/*) 2. Un escalar especicando el n umero de puertos de entrada a ser multiplicados. El valor escalar 1 para producto elemento a elemento causa que todos los elementos de un solo vector de entrada sean multiplicados. Sum: Librer a Math. Suma o substrae las entradas. Especicar una de las dos opciones siguientes: 1. Un string conteniendo + o - para cada puerto de entrada, | para espacio entre los puertos (ej. ++|-|++) 2. Un escalar 1. Un valor 1 suma todas las entradas; 1 suma los elementos de una solo vector de entrada. Trigonometric Function: Librer a Math. Funciones trigonom etricas e hiperb olicas. Demux: Librer a Signals & Systems. Divide:

2.2.4 Otras Librer as 1. se nales vectoriales a escalares o vectores m as peque nos, o

23

2. se nales tipo bus producidas por el bloques Mux en sus valores escalares, vectoriales o matriciales constituyentes. Chequear Bus Selection Mode para dividir se nales tipo bus. Mux: Librer a Signals & Systems. Multiplexa se nales escalares, vectoriales, o matriciales a un bus. Terminator: Librer a Signals & Systems. Usado para terminarse nales de salida. (Previene advertencias acerca puertos de salida no conectados.)

24

Usando Simulink

Ap endice A Funciones Comunes


A continuaci on se incluyen las funciones m as utilizadas de Matlab con una peque na descripci on de lo que hacen. acos: Funci on. Sintaxis acos(X). Funci on arcocoseno de X. asin: Funci on. Sintaxis asin(X). Funci on arcoseno de X. atan: Funci on. Sintaxis atan(X). Funci on arcotangente de X. atan2: Funci on. Sintaxis atan(Y,X). Funci on arcotangente de Y/X. La salida se encuentra entre y . clear: Funci on. Sintaxis clear(A). Borra la variable A. cos: Funci on. Sintaxis cos(X). Funci on coseno de X. ctrb: Funci on. Sintaxis ctrb(A,B). Retorna la matriz de controlabilidad del sistema formado por A y B. det: Funci on. Sintaxis det(A). Calcula el determinante de la matriz A. eig: Funci on. Sintaxis eig(A). Calcula los valores y vectores propios de la matriz A. eps: Variable. Precisi on relativa de punto otante, 252 . exp: Funci on. Sintaxis exp(X). Funci on exponencial de X. expm: Funci on. Sintaxis expm(A). Calcula la matriz exponencial de A. 25

26

APENDICE A. FUNCIONES COMUNES

help: Funci on. Sintaxis help function. Entrega ayuda sobre la funci on function. i: Variable. Unidad imaginaria. inv: Funci on. Sintaxis inv(A). Retorna la matriz inversa de A. Inf: Variable. Innito. j: Variable. Lo mismo que i, pero para los el ectricos. length: Funci on. Sintaxis length(X). Retorna el largo del vector X. log: Funci on. Sintaxis log(X). Funci on logaritmo natural de X. logm: Funci on. Sintaxis logm(A). Logaritmo natural matricial de A. Es la funci on inversa de expm(A). log10: Funci on. Sintaxis log10(X). Funci on logaritmo ordinario (en base 10) de X. log2: Funci on. Sintaxis log2(X). Funci on logaritmo en base 2 de X. lookfor: Funci on. Sintaxis lookfor(string). Retorna las funciones en las que aparece la palabra string en la ayuda de dicha funci on. max: Funci on. Sintaxis [Y,I]=max(X). Retorna el elemento m as grande de X en Y, y el ndice en que se encuentra en I. mean: Funci on. Sintaxis mean(X). Retorna el valor medio o promedio de los elementos de X. min: Funci on. Sintaxis [Y,I]=max(X). Retorna el elemento m as peque no de X en Y, y el ndice en que se encuentra en I. NaN: Variable. No es un n umero, usualmente aparece cuando hay una divisi on del tipo 0/0. obsv: Funci on. Sintaxis obsv(A,C). Retorna la matriz de observabilidad del sistema formado por A y C. pi: Variable. El n umero m as famoso del mundo.

27 plot: Funci on. Sintaxis plot(X,Y). Gr aca Y versus X. poly: Funci on. Sintaxis poly(A). Calcula los coecientes del polinomio caracter stico de la matriz A. roots: Funci on. Sintaxis roots(coef). Calcula los ra ces del polinomio cuyos coecientes vienen en coef. sin: Funci on. Sintaxis sin(X). Funci on seno de X. size: Funci on. Sintaxis size(A). Retorna las dimensiones de la matriz A. sum: Funci on. Sintaxis sum(X). Suma los elementos del vector X. subplot: Funci on. Sintaxis subplot(m,n,i). Genera una separaci on en una gura, dada por un arreglo de m las y n columnas, y graca en la posici on i- esima del arreglo. ss: Funci on. Sintaxis ss(A,B,C,D). Genera un modelo formulado en variables de estado. ss2tf: Funci on. Sintaxis [num,den]=tf2ss(A,B,C,D). Convierte una representaci on en variables de estado a un modelo dado por la funci on de transferencia. ss2zp: Funci on. Sintaxis [Z,P,K]=zp2ss(A,B,C,D). Convierte una representaci on en variables de estado a un modelo en formato zpk. std: Funci on. Sintaxis std(X). Retorna la desviaci on est andar de los elementos de X. tan: Funci on. Sintaxis tan(X). Funci on tangente de X. tf: Funci on. Sintaxis tf(num,den). Crea una funci on de transferencia. num son los coecientes del numerador, que van listados en potencias decrecientes de s o z, den es an alogo. tf2ss: Funci on. Sintaxis [A,B,C,D]=tf2ss(num,den). Convierte una funci on de transferencia a una representaci on en variables de estado. num son los coecientes del numerador, que van listados en potencias decrecientes de s o z, den es an alogo.

28

APENDICE A. FUNCIONES COMUNES

tf2zp: Funci on. Sintaxis [Z,P,K]=tf2zp(num,den). Convierte una funci on de transferencia a una representaci on zpk. num son los coecientes del numerador, que van listados en potencias decrecientes de s o z, den es an alogo. var: Funci on. Sintaxis var(X). Retorna la varianza de los elementos de X. zpk: Funci on. Sintaxis zpk(Z,P,K). Genera un modelo en el formato cerospolos-ganancia (zpk). zp2ss: Funci on. Sintaxis [A,B,C,D]=zp2ss(Z,P,K). Convierte un modelo en formato zpk a una representaci on en variables de estado. zp2tf: Funci on. Sintaxis [num,den]=zp2tf(Z,P,K). Convierte una representaci on zpk a una funci on de transferencia.

Bibliograf a
[1] The Mathworks, Getting Started with Matlab

29

30

BIBLIOGRAF IA

Indice alfab etico


\, 2 , 2 , 8 (), 5 *, 2 +, 2 -, 2 ., 8 /, 2 :, 4, 5 ;, 1 =, 1 [], 1, 7 , 2 acos, 25 ans, 2 arreglos, 8 asin, 25 atan, 25 atan2, 25 char, 8 clear, 10, 12, 25 close, 12 concatenar, 7 cos, 10, 25 ctrb, 25 obsv, 26 det, 10, 25 31 double, 8 eig, 10, 25 eliminar elementos, 6 eps, 10, 25 exp, 10, 25 expm, 25 eye, 3 figure, 12 funciones, 1 help, 9, 10, 26 hold, 13 i, 10, 26 Inf, 10, 26 inv, 2, 26 j, 10, 26 legend, 14 length, 10, 26 librer a, 18 continuos, 19 Derivative, 19 Integrator, 19 Memory, 19 State-Space, 19 Transfer-Fcn, 19 Transport Delay, 19

32 Variable Transport Delay, 19 Zero-Pole, 19 discrete, 19 Discrete Filter, 20 Discrete State-Space, 20 Discrete Transfer-Fcn, 19 Discrete Zero-Pole, 20 Discrete-Time Integrator, 20 First-Order Hold, 20 Unit Delay, 20 Zero-Order Hold, 20 functions & tables, 21 Fcn, 21 MATLAB Fcn, 21 Polynomial, 21 S-Function, 21 math, 21 Abs, 21 Dot Product, 22 Gain, 22 Math Function, 22 Matrix Gain, 22 MinMax, 22 Product, 22 Sum, 22 Trigonometric Function, 22 signals & systems, 22 Demux, 22 Mux, 23 Terminator, 23 sinks, 20 Display, 20 Scope, 20 Stop Simulation, 21 To File, 21 To Workspace, 21

INDICE ALFABETICO XY Graph, 21 sources, 20 Clock, 20 Constant, 20 Signal Generator, 20 Sine Wave, 20 Step, 20 log, 10, 26 log10, 26 log2, 26 logm, 26 lookfor, 10, 26 matrices, 1, 8 max, 26 mean, 9, 26 min, 26 NaN, 10, 26 ones, 3 pi, 10, 26 plot, 10, 12, 27 poly, 10, 27 roots, 10, 27 seleccionar elementos, 5 sin, 10, 27 size, 10, 27 ss, 27 ss2tf, 27 ss2zp, 27 stairs, 14 std, 27 stem, 14 subplot, 14, 27 sum, 10, 27

INDICE ALFABETICO tan, 10, 27 tf, 27 tf2ss, 27 tf2zp, 28 var, 28 variables, 1 variables, 1 vectores, 4 zeros, 3 zp2ss, 28 zp2tf, 28 zpk, 28

33

You might also like