Publicado el 19 de Mayo del 2018
869 visualizaciones desde el 19 de Mayo del 2018
139,7 KB
18 paginas
Creado hace 14a (09/08/2010)
Universidad de Chile
Facultad de Ciencias Físicas y Matemáticas
Departamento de Ingeniería Eléctrica
Introducción a Matlab y Simulink
Preparado por Diego Sepúlveda J.
Version 1.0, 6 de agosto de 2002
¶Indice general
1. Lo b¶asico
1.1. Matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1.1. Deflnici¶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
1
1
2
3
5
7
8
8
9
9
1.3. Gr¶aflcos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.3.1. Figuras
. . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.3.2. Gr¶aflcos en 2D . . . . . . . . . . . . . . . . . . . . . . 12
2. Simulink
17
2.1. Diagramas de Bloques
. . . . . . . . . . . . . . . . . . . . . . 17
2.2. Usando Simulink . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.2.1. Librer¶‡a \Continuos" . . . . . . . . . . . . . . . . . . . 19
2.2.2. Librer¶‡a \Discrete" . . . . . . . . . . . . . . . . . . . . 19
2.2.3. Librer¶‡as \Sources" y \Sinks" . . . . . . . . . . . . . . 20
2.2.4. Otras Librer¶‡as
. . . . . . . . . . . . . . . . . . . . . . 21
A. Funciones Comunes
25
iii
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 flnalmente aprender
el manejo de gr¶aflcos.
1.1. Matrices
1.1.1. Deflnici¶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 par¶entesis cuadrados ([ ]), las columnas se separan por
espacios y las fllas 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
1
2
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 re-
sultado de la ¶ultima 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
(/ (n)). 3 Por ejemplo:
>> B=[1 2 3; 4 5 6];
>> C=A+B
C =
4
7
6
7
8
13
>> D=C*A’
D =
76
114
80
126
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:
2En el caso de que se utilicen n¶umeros complejos se obtiene la conjugada transpuesta
3Obviamente 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
0
2
1
>> inv(A)
ans =
0.5000
0
-1.0000
1.0000
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
*
/
n
^
’
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 espec¶‡flcas 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 fllas y posteriormente el n¶umero de columnas; como muestra el siguiente
ejemplo:
Matrices
4
>> A=ones(3,2)
A =
1
1
1
1
1
1
>> B=zeros(3,5)
B =
0
0
0
>> C=eye(3)
C =
1
0
0
0
0
0
0
1
0
>> C=eye(3,4)
C =
1
0
0
0
1
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
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 deflnir como cualquier matriz. La importancia radica en que muchas
veces se utilizan para indexar alguna serie de elementos, para deflnirlos 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,
fllas 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 deflnida
anteriormente:
>> A(1,1)
ans =
2
>> A(:,1)
ans =
2
0
>> A(2,:)
ans =
0
1
>> A(4)
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 flla,
y para el ¶ultimo ejemplo se obtiene el cuarto elemento de la matriz. La
numeraci¶on del ¶ultimo 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 ¶util eliminar alg¶un(os)
elemento(s) de la matriz4, para lograr lo anterior se utilizan un par de par¶ente-
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
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 =
4Sin embargo, s¶olo 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 par¶entesis cuadrados ([ ]). Por ejemplo para concatenar horizontal-
mente:
>> 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 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.
Operaci¶on
Multiplicaci¶on
Divisi¶on por la derecha
Divisi¶on por la izquierda
Potenciaci¶on
Transposici¶on no conjugada
S¶‡mbolo
.*
./
.n
.^
.’
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.7500
1.3333
4.0000
2.0000
0
corresponde a la divisi¶on de arreglos por la izquierda de A por B, i.e. bij
aij
8 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 num¶ericos.
char son los arreglos de caracteres, se deflnen entre ap¶ostrofes (’’):
9
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 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 trav¶es de la funci¶on help.
1.2.3. Algunas Variables y Funciones de utilidad
Matlab trae muchas variables y funciones predeflnidas, 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
Descripci¶on
pi
i
j
Inf
NaN
eps
El n¶umero m¶as famoso del mundo
Unidad imaginaria
Lo mismo que i, pero para los el¶ectricos
Inflnito
No es un n¶umero
Precisi¶on relativa de punto otante, 2¡52
Cuadro 1.3: Variables Predeflnidas
Nombre
sin(X)
cos(X)
tan(X)
exp(X)
log(X)
plot(X,Y)
clear(A)
det(A)
eig(A)
poly(A)
roots(coef)
sum(X)
length(X)
size(A)
help funcion
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¶aflca Y versus X
Borra la variable A
Calcula el determinante de la matriz A
Calcula los valores y vectores propios de la matriz
A
Calcula los coeflcientes del polinomio ca
Comentarios de: Introducción a Matlab y Simulink (0)
No hay comentarios