Está en la página 1de 39

Universidad de Chile

Facultad de Ciencias Fsicas y Matematicas


Departamento de Ingeniera Electrica
Introducci

on a Matlab y Simulink
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 numerico
de una gran cantidad de aplicaciones en ingeniera, tales como: procesamiento
de se nales, an alisis estadsticos, interpolaci on de curvas, series de tiempo, si-
mulaci 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 numerico de vectores y valores propios, descomposiciones de matrices
y cualquier aplicaci on que involucre matrices.
Adem as de lo mencionado anteriormente, Matlab tambien incluye un
subprograma llamado Simulink, el cual permite la simulaci on de todo sis-
tema 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 en-
tonces deber a referirse a [1]
i
II

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

INDICE GENERAL
Captulo 1
Lo basico
Dado que todas las aplicaciones de Matlab se basan en el uso de matrices,
lo primordial en este captulo es mostrar c omo utilizarlas, posteriormente se veran
los distintos tipos de variables y funciones que existen, para nalmente aprender
el manejo de gracos.
1.1. Matrices
1.1.1. Denici on y asignaci on de variables
Para introducir una matriz en Matlab s olo se debe introducir los n ume-
ros de la matriz entre parentesis 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 4 5
3 2 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
; tambien se utiliza para suprimir la visualizacion del resultado
1
2 Matrices
1.1.2. Operando con matrices
Para transponer
2
matrices s olo hay que poner despues de la matriz o de
la variable un ap ostrofe (), siguiendo con el ejemplo anterior quedara:
>> A
ans =
3 3
4 2
5 7
En la variable ans mostrada en el ejemplo anterior, Matlab guarda el re-
sultado de la ultima operaci on ejecutada.
Las operaciones aritmeticas son igual que ne la mayora 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 6 8
7 7 13
>> D=C*A
D =
76 80
114 126
Para potenciar una matriz se utiliza el smbolo (), 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:
2
En el caso de que se utilicen n umeros complejos se obtiene la conjugada transpuesta
3
Obviamente para poder realizar estas operaciones es necesario que las dimensiones de
las matrices sean consistentes.
1.1.3 Matrices especiales 3
>> A=[2 2 ; 0 1]
A =
2 2
0 1
>> inv(A)
ans =
0.5000 -1.0000
0 1.0000
En el cuadro 1.1 se muestra un resumen de los operadores matriciales.
Operacion Smbolo
Multiplicaci on *
Divisi on por la derecha /
Divisi on por la izquierda \
Potenciaci on
Transposici on conjugada
Cuadro 1.1: Operadores para algebra matricial
1.1.3. Matrices especiales
Dado que existen matrices que son muy utilizadas en la pr actica Mat-
lab incluye funciones especcas 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 Matrices
>> A=ones(3,2)
A =
1 1
1 1
1 1
>> B=zeros(3,5)
B =
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
>> C=eye(3)
C =
1 0 0
0 1 0
0 0 1
>> C=eye(3,4)
C =
1 0 0 0
0 1 0 0
0 0 1 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 5
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 parentesis despues 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 1
>> A(4)
6 Matrices
ans =
1
En el primer ejemplo se obtiene el elemento a
11
de la matriz, en el segundo
ejemplo la primera columna, el tercer ejemplo se obtiene la segunda la,
y para el ultimo ejemplo se obtiene el cuarto elemento de la matriz. La
numeraci on del ultimo ejemplo es por columnas (as a
11
es 1

, a
21
es 2

, a
12
es 3

, a
22
es 4

).
Adem as de seleccionar elementos, muchas veces es util eliminar alg un(os)
elemento(s) de la matriz
4
, para lograr lo anterior se utilizan un par de parente-
sis 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 6
3 8
5 9
3 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, solo se puede hacer si la estructura resultante sigue siendo una matriz
1.1.5 Arreglos 7
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 util concatenar matrices, lo cual se puede utilizar utili-
zando los parentesis cuadrados ([ ]). Por ejemplo para concatenar horizontal-
mente:
>> B=[1 2 3; 4 5 6];
>> C=[1 ; 2];
>> [B C]
ans =
1 2 3 1
4 5 6 2
y para concatenar verticalmente:
>> B=1:1:4;
>> C=4:-1:1;
>> [B ; C]
ans =
1 2 3 4
4 3 2 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 aritmetica distinta en cuan-
to a la multiplicaci on y divisi on. Estas operaciones se ejecutan elemento a
8 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.
Operacion Smbolo
Multiplicaci on .*
Divisi on por la derecha ./
Divisi on por la izquierda .\
Potenciaci on .
Transposici on no conjugada .
Cuadro 1.2: Operadores para algebra de arreglos
Por ejemplo:
>> A=[1 3 4; 4 2 6];
>> B=[3 4 8; 7 8 0];
>> A.\B
ans =
3.0000 1.3333 2.0000
1.7500 4.0000 0
corresponde a la divisi on de arreglos por la izquierda de A por B, i.e.
b
ij
a
ij
i, j.
1.2. Variables y Funciones
1.2.1. Variables
Existen varios tipos de variables en Matlab, las m as comunes son:
double corresponden a las matrices y arreglos numericos.
char son los arreglos de caracteres, se denen entre ap ostrofes ():
1.2.2 Funciones 9
>> Z=hola
Z =
hola
1.2.2. Funciones
Las funciones son, al igual que en la mayora 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 algu-
nas 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 traves 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 ob-
tiene 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 Variables y Funciones
Nombre Descripcion
pi El n umero m as famoso del mundo
i Unidad imaginaria
j Lo mismo que i, pero para los electricos
Inf Innito
NaN No es un n umero
eps Precisi on relativa de punto otante, 2
52
Cuadro 1.3: Variables Predenidas
Nombre Descripcion
sin(X) Funci on seno de X
cos(X) Funci on coseno de X
tan(X) Funci on tangente de X
exp(X) Funci on exponencial de X
log(X) Funci on logaritmo natural de X
plot(X,Y) Gr aca Y versus X
clear(A) Borra la variable A
det(A) Calcula el determinante de la matriz A
eig(A) Calcula los valores y vectores propios de la matriz
A
poly(A) Calcula los coecientes del polinomio caracterstico
de la matriz A
roots(coef) Calcula los races 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
1.2.3 Algunas Variables y Funciones de utilidad 11
Columns 8 through 11
0.4966 0.4493 0.4066 0.3679
12 Gracos
1.3. Gracos
Para gracar en Matlab fundamentalmente se utiliza la funci on plot
mencionada anteriormente, sin embargo tambien es posible gracar en forma
escalonada, utilizando s olo lneas 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 utiles 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 a-
co, 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 utili-
zarlo 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 existentes
5
.
1.3.2. Gracos 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 analoga clear all borra todas las variables
1.3.2 Gracos en 2D 13
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
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 encuen-
tran 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 Gracos
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
1
0.8
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
1
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.
Tambien 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 ele-
mentos 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 util 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 Gracos en 2D 15
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
1
0.8
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
1
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.
Tambien hay funciones para poner ttulos, formatear los ejes, poner textos
en cualquier parte de la gura, nombrar el eje x y el eje y, utilizar grilla, etc.
La mayora de las funciones anteriores aparece en la ayuda de la funci on
plot.
No hay que olvidar que todas las instrucciones anteriores pueden combi-
narse, para producir las guras que uno desea.
16 Gracos
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
1
0.8
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
1
exponencial
seno
Figura 1.4: Ejemplo de legend
4 2 0 2 4
1
0.5
0
0.5
1
4 2 0 2 4
1
0.5
0
0.5
1
4 3 2 1 0 1 2 3 4
2
1
0
1
2
4 3 2 1 0 1 2 3 4
1
0.5
0
0.5
1
Figura 1.5: Ejemplo de subplot
Captulo 2
Simulink
Simulink es un sistema interactivo para simular sistemas dinamicos no-
lineales. La gran ventaja de Simulink es su interfaz graca, mediante la cual se
pueden implementar complicados modelos y obtener simulaciones en un tiempo
extremadamente rapido a traves de los diagramas de bloques.
2.1. Diagramas de Bloques
En pocas palabras para utilizar Simulink s olo hay que saber c omo tra-
ducir 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
traves de esta se obtiene la respuesta del sistema descrito por (2.1), la cual
se aprecia en la g. 2.3.
0 1 2 3 4 5 6 7 8 9 10
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
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 librera.
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 Librera 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 debera 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. Librera Continuos
En esta librera se encuentran todos los bloques de tiempo continuo para
sistemas lineales, los cuales son:
Derivative: Derivada numerica 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 ma-
tricial 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 entra-
da. 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. Librera Discrete
Esencialmente es identica 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 z
1
.
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 perodo de muestreo de retraso.
Zero-Order Hold: Retenedor de orden cero.
2.2.3. Libreras Sources y Sinks
Estas libreras son aquellas que proveen las fuentes y los sumideros de los
diagramas de bloques. Algunos de estos son:
Clock: Librera Sources. Genera el tiempo de simulaci on actual.
Constant: Librera Sources. Genera una constante especicada en el par ame-
tro 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: Librera Sources. Genera varias formas de onda.
Sine Wave: Librera Sources. Genera una onda sinusoidal.
Step: Librera Sources. Genera un escal on.
Display: Librera Sinks. Representaci on numerica de los valores de en-
trada.
Scope: Librera Sinks. Representaci on gr aca de los valores de entrada
versus el tiempo de simulaci on.
2.2.4 Otras Libreras 21
Stop Simulation: Librera Sinks. Detiene la simulaci on cuando la en-
trada es distinta de cero.
To File: Librera Sinks. Escribe el tiempo y la entrada al archivo MAT
especicado en formato la. El tiempo est a en la primera la.
To Workspace: Librera 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 : Librera 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 Libreras
Adem as de las libreras anteriormente detalladas, existen otras que pro-
veen los siguientes bloques que son extremadamente utiles:
Fcn: Librera 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: Librera Functions & Tables. Pasa los valores de entra-
da 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: Librera Functions & Tables. Evaluaci on polinomial. Cal-
cula P(u) dado por el arreglo de coecientes polinomiales P. P est a or-
denado del mayor al menor orden, la forma aceptada por la funci on
polyval de Matlab.
S-Function: Librera Functions & Tables. Bloque denible por el usua-
rio. 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: Librera Math. Valor absoluto, i.e. y = |u|.
22 Usando Simulink
Dot Product: Librera Math. Producto interno (punto). y = sum(conj(
u1).*u2)
Gain: Librera Math. Ganancia elemento a elemento (y = K.*u) o ga-
nancia matricial (y = K*u o y = u*K).
Math Function: Librera Math. Funciones matem aticas incluyendo fun-
ciones logartmicas, exponencial, potenciaci on, y m odulo.
Matrix Gain: Librera Math. Ganancia elemento a elemento (y = K.*u)
o ganancia matricial (y = K*u o y = u*K).
MinMax: Librera Math. La salida es el mnimo o m aximo de la entrada.
Para una sola entrada, los operadores se aplican a traves del vector de
entrada. Para m ultiples entradas, los operadores se aplican a traves de
las entradas.
Product: Librera 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 multiplica-
dos.
Sum: Librera 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: Librera Math. Funciones trigonometricas e
hiperb olicas.
Demux: Librera Signals & Systems. Divide:
2.2.4 Otras Libreras 23
1. se nales vectoriales a escalares o vectores m as peque nos, o
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: Librera Signals & Systems. Multiplexa se nales escalares, vectoria-
les, o matriciales a un bus.
Terminator: Librera Signals & Systems. Usado para terminarse nales
de salida. (Previene advertencias acerca puertos de salida no conecta-
dos.)
24 Usando Simulink
Apendice 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: Funcion. Sintaxis acos(X). Funci on arcocoseno de X.
asin: Funcion. Sintaxis asin(X). Funci on arcoseno de X.
atan: Funcion. Sintaxis atan(X). Funci on arcotangente de X.
atan2: Funcion. Sintaxis atan(Y,X). Funci on arcotangente de Y/X. La salida
se encuentra entre y .
clear: Funcion. Sintaxis clear(A). Borra la variable A.
cos: Funcion. Sintaxis cos(X). Funci on coseno de X.
ctrb: Funcion. Sintaxis ctrb(A,B). Retorna la matriz de controlabilidad del
sistema formado por A y B.
det: Funcion. Sintaxis det(A). Calcula el determinante de la matriz A.
eig: Funcion. Sintaxis eig(A). Calcula los valores y vectores propios de la
matriz A.
eps: Variable. Precisi on relativa de punto otante, 2
52
.
exp: Funcion. Sintaxis exp(X). Funci on exponencial de X.
expm: Funcion. Sintaxis expm(A). Calcula la matriz exponencial de A.
25
26 AP

ENDICE A. FUNCIONES COMUNES


help: Funcion. Sintaxis help function. Entrega ayuda sobre la funci on
function.
i: Variable. Unidad imaginaria.
inv: Funcion. Sintaxis inv(A). Retorna la matriz inversa de A.
Inf: Variable. Innito.
j: Variable. Lo mismo que i, pero para los electricos.
length: Funcion. Sintaxis length(X). Retorna el largo del vector X.
log: Funcion. Sintaxis log(X). Funci on logaritmo natural de X.
logm: Funcion. Sintaxis logm(A). Logaritmo natural matricial de A. Es la
funci on inversa de expm(A).
log10: Funcion. Sintaxis log10(X). Funci on logaritmo ordinario (en base
10) de X.
log2: Funcion. Sintaxis log2(X). Funci on logaritmo en base 2 de X.
lookfor: Funcion. Sintaxis lookfor(string). Retorna las funciones en las
que aparece la palabra string en la ayuda de dicha funci on.
max: Funcion. 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: Funcion. Sintaxis mean(X). Retorna el valor medio o promedio de los
elementos de X.
min: Funcion. 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 di-
visi on del tipo 0/0.
obsv: Funcion. 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: Funcion. Sintaxis plot(X,Y). Gr aca Y versus X.
poly: Funcion. Sintaxis poly(A). Calcula los coecientes del polinomio ca-
racterstico de la matriz A.
roots: Funcion. Sintaxis roots(coef). Calcula los races del polinomio cu-
yos coecientes vienen en coef.
sin: Funcion. Sintaxis sin(X). Funci on seno de X.
size: Funcion. Sintaxis size(A). Retorna las dimensiones de la matriz A.
sum: Funcion. Sintaxis sum(X). Suma los elementos del vector X.
subplot: Funcion. 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: Funcion. Sintaxis ss(A,B,C,D). Genera un modelo formulado en varia-
bles de estado.
ss2tf: Funcion. Sintaxis [num,den]=tf2ss(A,B,C,D). Convierte una repre-
sentaci on en variables de estado a un modelo dado por la funci on de
transferencia.
ss2zp: Funcion. Sintaxis [Z,P,K]=zp2ss(A,B,C,D). Convierte una repre-
sentaci on en variables de estado a un modelo en formato zpk.
std: Funcion. Sintaxis std(X). Retorna la desviaci on est andar de los ele-
mentos de X.
tan: Funcion. Sintaxis tan(X). Funci on tangente de X.
tf: Funcion. Sintaxis tf(num,den). Crea una funci on de transferencia. num
son los coecientes del numerador, que van listados en potencias decre-
cientes de s o z, den es an alogo.
tf2ss: Funcion. Sintaxis [A,B,C,D]=tf2ss(num,den). Convierte una fun-
ci on de transferencia a una representaci on en variables de estado. num
son los coecientes del numerador, que van listados en potencias decre-
cientes de s o z, den es an alogo.
28 AP

ENDICE A. FUNCIONES COMUNES


tf2zp: Funcion. 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: Funcion. Sintaxis var(X). Retorna la varianza de los elementos de X.
zpk: Funcion. Sintaxis zpk(Z,P,K). Genera un modelo en el formato ceros-
polos-ganancia (zpk).
zp2ss: Funcion. Sintaxis [A,B,C,D]=zp2ss(Z,P,K). Convierte un modelo
en formato zpk a una representaci on en variables de estado.
zp2tf: Funcion. Sintaxis [num,den]=zp2tf(Z,P,K). Convierte una repre-
sentaci on zpk a una funci on de transferencia.
Bibliografa
[1] The Mathworks, Getting Started with Matlab
29
30 BIBLIOGRAF

IA

Indice alfabetico
\, 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
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
librera, 18
continuos, 19
Derivative, 19
Integrator, 19
Memory, 19
State-Space, 19
Transfer-Fcn, 19
Transport Delay, 19
31
32

INDICE ALFAB

ETICO
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
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 ALFAB

ETICO 33
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

También podría gustarte