Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Introduccin a Matlab
J. Undurraga L.
R. Venegas C.
ndice
1.
Introduccin.................................................................................................................... 4
1.1. Que es Matlab? ....................................................................................................... 4
1.2.
Ayuda de Matlab .................................................................................................... 5
2. Comenzando a utilizar Matlab........................................................................................ 6
2.1.
El Desktop de Matlab ............................................................................................. 6
2.1.1.
Descripcin de herramientas de escritorio: .................................................... 7
3. Manipulacin de Matrices ............................................................................................ 12
3.1.
Creacin de Matrices ............................................................................................ 12
3.2.
Suma, Transpuesta y Diagonal: ............................................................................ 12
3.2.1.
Suma: ............................................................................................................ 12
3.2.2.
Transpuesta:.................................................................................................. 13
3.2.3.
Diagonal: ...................................................................................................... 13
3.3.
Subndice, operador dos puntos............................................................................ 13
3.3.1.
Subndice: ..................................................................................................... 13
3.3.2.
Operador dos puntos:.................................................................................... 14
3.4. Variables:.............................................................................................................. 15
3.5. Operadores:........................................................................................................... 16
3.6. Funciones:............................................................................................................. 16
3.7.
Generacin de Matrices:....................................................................................... 22
3.8. Concatenacin de Matrices:.................................................................................. 23
3.9.
Borrando filas y columnas:................................................................................... 23
3.10.
Algebra Lineal: ................................................................................................. 24
3.10.1. Suma ............................................................................................................. 24
3.10.2. Multiplicacin............................................................................................... 24
3.10.3. Determinante ................................................................................................ 25
3.10.4. Operacin de reglones fila............................................................................ 25
3.10.5. Inversa .......................................................................................................... 25
3.10.6. Valores Propios ............................................................................................ 26
3.10.7. Potencia ........................................................................................................ 27
3.10.8. Polinomio caracterstico ............................................................................... 27
4. Arreglos ........................................................................................................................ 27
4.1.
Operaciones Multiplicativas ................................................................................. 28
4.1.1.
Multiplicacin............................................................................................... 28
4.1.2.
Divisin ........................................................................................................ 28
4.1.3.
Potencia ........................................................................................................ 29
4.2. Construccin de Tablas ........................................................................................ 29
4.3.
Datos multivariable .............................................................................................. 30
5. Grficos ........................................................................................................................ 31
5.1. Grficos Bsicos ................................................................................................... 31
5.2. Creacin de grficos de lnea................................................................................ 32
5.2.1.
Especificacin del estilo de lnea.................................................................. 33
5.2.2.
Color, estilo de lnea y marcador.................................................................. 34
5.2.3.
Aadiendo grficos....................................................................................... 35
5.2.4.
Graficando lneas de matrices de Datos ....................................................... 36
5.2.5.
Grfico de Nmeros complejos .................................................................... 37
5.2.6.
Lmites de los ejes ........................................................................................ 37
5.2.7.
Ventanas de Figuras y mltiples grficos por figuras .................................. 38
5.3.
Creacin de grficos especializados ..................................................................... 39
5.3.1.
Grficos de barra .......................................................................................... 39
5.3.2.
Grficos de rea ............................................................................................ 42
5.3.3.
Histogramas .................................................................................................. 43
5.3.4.
Grficos Polares............................................................................................ 44
5.4. Grfico de datos discretos..................................................................................... 45
5.4.1.
Stem .............................................................................................................. 45
5.4.2.
Stem3 ............................................................................................................ 45
5.4.3.
Stairstep ........................................................................................................ 46
5.5.
Grficos vectoriales de velocidad y direccin...................................................... 46
5.5.1.
Compass ....................................................................................................... 46
5.5.2.
Feather .......................................................................................................... 47
5.5.3.
Quiver ........................................................................................................... 48
5.5.4.
Quiver3 ......................................................................................................... 49
5.6. Grficos de contornos........................................................................................... 50
5.6.1.
Contour y Contour3...................................................................................... 50
5.7. Grficos 3D .......................................................................................................... 51
5.7.1.
Plot3.............................................................................................................. 51
5.7.2.
Mesh y Surf .................................................................................................. 52
5.7.3.
Visualizacin de variables de dos dimensiones............................................ 53
5.8. Animaciones ......................................................................................................... 54
6. Objetos simblicos ....................................................................................................... 56
6.1. Construccin de variables reales y complejas ...................................................... 57
6.2.
Creacin de funciones abstractas y sustitucin de variables ................................ 58
6.3.
Creacin de funciones matemticas simblicas ................................................... 59
6.3.1.
Usando expresiones simblicas .................................................................... 59
6.3.2.
Creando un archivo M .................................................................................. 59
6.4. Clculo.................................................................................................................. 60
6.4.1.
Diferenciacin .............................................................................................. 60
6.4.2.
Jacobiano ...................................................................................................... 60
6.4.3.
Lmites .......................................................................................................... 61
6.4.4.
Integracin .................................................................................................... 61
6.4.5.
Sumatoria...................................................................................................... 62
6.4.6.
Series de Taylor ............................................................................................ 62
6.5. Grfico de funciones simblicas........................................................................... 63
7. Bibliografa................................................................................................................... 64
1. Introduccin
Matlab cuenta con un poderoso y completo sistema de ayuda el cual puede ser
llamado como se aprecia en la Figura 1-1:
Figura 1-1
Matlab consta de un poderoso sistema de bsqueda y adems est dotado con una
completa gama de textos instructivos que permiten al usuario tanto de nivel
bsico, como de nivel avanzado lograr realizar una gran gama de tareas,
explicando en detalle la estructura, utilizacin, implementacin y ejemplificacin
de las diferentes herramientas y funciones que posee.
Adems, se puede tambin recurrir a la ayuda desde la lnea de comandos. Por
ejemplo:
help
help fft
help laplace
El Desktop de Matlab
El escritorio de matlab se puede apreciar en la Figura 2-1:
Figura 2-1
Se utiliza para ingresar las variables, ejecutar las funciones y los archivos
m con los cuales trabaja matlab. En la Figura 2-2 se puede apreciar un
pequeo ejemplo:
Figura 2-2
2.1.1.2. Command History (historial de comandos):
Figura 2-3
Figura 2-4
Figura 2-5
Figura 2-6
2.1.1.5. Current Directory:
Figura 2-7
Figura 2-8
2.1.1.7. Array Editor:
Figura 2-9
10
2.1.1.8. Editor/Debugger:
Figura 2-10
2.1.1.9. Profiler:
Figura 2-11
11
3. Manipulacin de Matrices
3.1. Creacin de Matrices
La funcin sum permite sumar los elementos de las columnas de una matriz,
obtenindose de esta forma un vector fila que contiene la suma de los
elementos de las columnas. As al aplicar la funcin sum a la matriz A del
problema anterior obtenemos:
12
3.2.2. Transpuesta:
La transpuesta de una matriz intercambia las filas por as columnas, para hacer
esto simplemente se debe poner el smbolo apstrofe despus de la matriz
como, por ejemplo:
3.2.3. Diagonal:
13
Ej. 2
14
Como otro ejemplo, consideremos que se desea sumar todos los elementos de
la ltima columna de la matriz A, para lograr esto, simplemente se debe
realizar la siguiente operacin:
Donde el operador end, ndica que se desea la ltima fila o columna segn sea
utilizado.
3.4. Variables:
Aqu se crea la variable Alumnos, el cual es una matriz de 1x1 en el cual almacena
el valor 15.
Nota: MATLAB es sensible a minsculas y maysculas, es decir la variable A es
diferente a la variable a.
En cuanto a los nmeros, MATLAB utiliza la notacin decimal convencional, con
punte decimal opcional y permitiendo signo positivo o negativo. La notacin
15
cientfica utiliza la letra e para indicar el factor escalar de potencia de diez. Los
nmeros imaginarios utilizan el sufijo i o j. Algunos ejemplos son:
()
Suma
Resta
Multiplicacin
Divisin
Divisin por la izquierda (Utilizado para operaciones Matriciales)
Potencia
Conjugado complejo transpuesto
Especifica el orden de evaluacin
Tabla 3.1
3.6. Funciones:
Trigonometric.
16
sin
- Sine.
sinh
asin
asinh
cos
cosh
acos
acosh
tan
tanh
atan
atan2
atanh
sec
sech
asec
asech
csc
csch
acsc
acsch
cot
coth
acot
acoth
- Hyperbolic sine.
- Inverse sine.
- Inverse hyperbolic sine.
- Cosine.
- Hyperbolic cosine.
- Inverse cosine.
- Inverse hyperbolic cosine.
- Tangent.
- Hyperbolic tangent.
- Inverse tangent.
- Four quadrant
- Inverse hyperbolic tangent.
- Secant.
- Hyperbolic secant.
- Inverse secant.
- Inverse hyperbolic secant.
- Cosecant.
- Hyperbolic cosecant.
- Inverse cosecant.
- Inverse hyperbolic cosecant.
- Cotangent.
- Hyperbolic cotangent.
- Inverse cotangent.
- Inverse hyperbolic cotangent.
Exponential.
exp
- Exponential.
log
- Natural logarithm.
log10
- Common (base 10) logarithm.
log2
- Base 2 logarithm and dissect floating point number.
pow2
- Base 2 power and scale floating point number.
realpow
- Power that will error out on complex result.
reallog
- Natural logarithm of real number.
realsqrt
- Square root of number greater than or equal to zero.
sqrt
- Square root.
nextpow2 - Next higher power of 2.
Complex.
abs
- Absolute value.
angle
- Phase angle.
complex - Construct complex data from real and imaginary parts.
conj
- Complex conjugate.
imag
- Complex imaginary part.
real
- Complex real part.
unwrap
- Unwrap phase angle.
isreal
- True for real array.
17
cplxpair
fix
floor
ceil
round
mod
rem
sign
Para obtener una lista de para funciones avanzadas y matriciales se deben utilizar
los siguientes comandos:
>>help specfun
>>help elmat
Al utilizar el comando help specfun aparecer la lista de funciones que se muestra
en la Tabla 3.3:
airy
besselj
bessely
besselh
besseli
besselk
beta
betainc
betaln
ellipj
ellipke
erf
erfc
erfcx
erfinv
expint
gamma
gammainc
gammaln
psi
legendre
cross
dot
18
factor
isprime
primes
gcd
lcm
rat
rats
perms
nchoosek
factorial
cart2sph
cart2pol
- Prime factors.
- True for prime numbers.
- Generate list of prime numbers.
- Greatest common divisor.
- Least common multiple.
- Rational approximation.
- Rational output.
- All possible permutations.
- All combinations of N elements taken K at a time.
- Factorial function.
Coordinate transforms.
- Transform Cartesian to spherical coordinates.
- Transform Cartesian to polar coordinates.
pol2cart
sph2cart
hsv2rgb
rgb2hsv
19
isnumeric
islogical
logical
cat
reshape
diag
blkdiag
tril
triu
fliplr
flipud
flipdim
rot90
:
find
end
sub2ind
ind2sub
ndgrid
permute
ipermute
shiftdim
circshift
squeeze
ans
eps
realmax
realmin
pi
i, j
inf
NaN
isnan
isinf
isfinite
why
compan
gallery
hadamard
20
hankel
hilb
invhilb
magic
pascal
rosser
toeplitz
vander
wilkinson
- Hankel matrix.
- Hilbert matrix.
- Inverse Hilbert matrix.
- Magic square.
- Pascal matrix.
- Classic symmetric eigenvalue test problem
- Toeplitz matrix.
- Vandermonde matrix.
- Wilkinson's eigenvalue test matrix.
Tabla 3.4
Varias funciones entregan resultados constantes bastante tiles, como los que se
muestran en la Tabla 3.5
Tabla 3.5
Los nombres de las funciones no son reservados. Es posible sobrescribirlos por una
nueva variable, como por ejemplo:
>> eps =1e-6
La funcin original puede ser restituida por el comando:
>> clear eps
21
MATLAB permite generar las cuatro matrices bsicas, las cuales son:
Tabla 3.6
22
A+32;
A+48
A+16]
Se pueden borrar las filas o columnas de una matriz utilizando los parntesis
cuadrados, por ejemplo:
Sea
>> X=A
23
3.10.2. Multiplicacin
24
3.10.3. Determinante
3.10.5. Inversa
Al ser la matriz singular, implica que no tienen inversa, por lo que al tratar de
computar su inversa ocurrir lo siguiente:
25
26
3.10.7. Potencia
4 34 3 80 2 + 2720
El trmino constante es cero porque la matriz es singular.
4. Arreglos
La diferencia entre una matriz y un arreglo es que en esta ltima las operaciones son
realizadas sobre cada elemento independiente, de tal manera que la suma y la resta son
iguales que en matrices, pero las operaciones multiplicativas son diferentes. Esto nos
permite realizar operaciones elemento por elemento. MATLAB utiliza el punto, o el punto
decimal para las operaciones multiplicativas en los arreglos.
27
+
.*
./
.\
.^
.
Suma
Resta
Multiplicacin Elemento por elemento
Divisin Elemento por elemento
Divisin por la izquierda Elemento por elemento
Potencia Elemento por elemento
Transpuesta no conjugado Elemento por elemento
Tabla 4.1
Para dividir cada elemento de la matriz A por los elementos de ella misma se debe
realizar la siguiente operacin:
28
4.1.3. Potencia
29
En este ejemplo se genera una tabla que contiene los valores de x y su respectivo
logaritmo en base 10.
4.3. Datos multivariable
La primera fila contiene la frecuencia cardiaca, el peso y las horas de ejercicio por
semana del primer paciente, respectivamente. La segunda fila contiene la
frecuencia cardiaca, el peso y las horas de ejercicio por semana del segundo
paciente, y as sucesivamente.
Ahora, si se desea obtener la media y la desviacin estndar de cada columna, se
puede hacer mediante los siguientes comandos:
30
5. Grficos
La Tabla 5.1 muestra los pasos necesarios para la construccin de un grfico bsico:
Paso
1. Preparar los datos
Cdigo tpico
2. Seleccionar una
ventana y la posicin
del grfico dentro de la
ventana
3. Llamar a la funcin
elemental de grfico
4. Seleccionar las
caractersticas de la
lnea y del marcador
5. Seleccionar los ejes de
los lmites y la grilla
6. Anotar la rotulacin,
leyenda y texto del
grfico
7. Exportar el grfico
Tabla 5.1
5.1. Grficos Bsicos
MATLAB provee una variedad de funciones para mostrar los datos de un vector en
forma de grfico de lnea. La Tabla 5.2 resume las funciones que producen grficos
de lnea bsicos:
31
Funcin
plot
plot3
loglog
semilogx
semilogy
plotyy
Descripcin
Grfico 2D con ambos ejes en escala lineal
Grfico 3D con ambos ejes en escala lineal
Grfico con ambos ejes en escala logartmica
Grfico con eje x en escala logartmica y eje y en escala lineal
Grfico con eje y en escala logartmica y eje x en escala lineal
Grfico con dos marcadores en eje y (izquierda y derecha del grfico)
Tabla 5.2
La funcin plot tiene diferentes formas, dependiendo del argumento de entrada. Por
ejemplo, si y es un vector, plot(y) produce un grfico lineal de los elementos de y
versus el ndice del elemento y.
Si se especifica dos vectores como argumento, plot(x,y) produce un grfico y
versus x.
Ejemplo: Para graficar la funcin coseno en el intervalo [0, 2 ] a incrementos de
/100 se deben implementar el siguiente cdigo:
Figura 5-1
32
Por ejemplo:
Figura 5-2
Figura 5-3
33
Las funciones bsicas de grfico aceptan como argumento caracteres tipo string
que especifican varios tipos de lnea, marcadores y colores para cada vector
graficado. En forma general es de la siguiente forma:
Por ejemplo:
Aqu el grfico resultante es una lnea punteada, con marcadores cuadrados en cada
dato, ambos de color amarillo.
Obs:
Si se especifica un marcador, pero no un estilo de lnea, MATLAB solamente
grafica los marcadores.
34
Figura 5-4
Figura 5-5
En la Figura 5-5 se puede apreciar el resultado de la funcin hold on, donde cabe
mencionar que si bien, el eje x se acomoda a los nuevos datos, la escala logartmica
se conserva.
35
La funcin plot pude ser utilizada con una matriz como argumento. MATLAB
grafica una lnea por cada columna de la matriz. El eje x es rotulado con el ndice
del vector fila, 1: m, donde m es el nmero de filas de la matriz.
Por ejemplo, considere la matriz A dada por:
Figura 5-6
Tambin es posible graficar matrices con pares como argumentos, por ejemplo:
Figura 5-7
36
Figura 5-8
5.2.6. Lmites de los ejes
Figura 5-9
37
Donde n es un entero.
Es posible crear varios grficos dentro de una ventana figure. Esto es posible de
realizar mediante la funcin subplot. Esta funcin es llamada de la forma:
El argumento m,n divide la ventana de figura en una matriz de m por n subgrficos, y el argumento i selecciona el i-esimo grfico. Para una mejor
comprensin observar los siguientes ejemplos:
Figura 5-10
38
Los grficos de barra y rea son utilizados para mostrar vectores o matrices de
datos. Estos tipos de grficos son tiles para ver resultados sobre un perodo de
tiempo, comparar los datos de distintos conjuntos de datos, y mostrar como los
elementos individuales contribuyen a aumentar cierta cantidad. Los grficos de
barra son tiles para mostrar datos discretos, mientras que los de rea son ms
tiles para mostrar datos continuos.
Funcin
bar
barh
bar3
bar3h
area
Descripcin
Muestra las columnas de una matriz de m x n como m grupos de n barras
verticales
Muestra las columnas de una matriz de m x n como m grupos de n barras
horizontales
Muestra las columnas de una matriz de m x n como m grupos de n barras
verticales 3D
Muestra las columnas de una matriz de m x n como m grupos de n barras
horizontales 3D
Muestra vectores de datos como grficos de rea acumulada
Tabla 5.3
5.3.1.1. Bar
Por defecto un grfico de barra representa cada elemento de una matriz como
una barra. Las barras en grficos 2D creadas por la funcin bar son distribuidas
a lo largo del eje x donde cada elemento en una columna es dibujado en una
localizacin diferente. Los elementos de una fila son agrupados alrededor de
una misma localizacin en el eje x.
Por ejemplo, considere la matriz
39
Figura 5-11
5.3.1.2. Bar3
La funcin bar3 es una simple manera de dibujar cada elemento como un bloque
3D por separado, con los elementos de cada columna distribuidos a lo largo del
eje del eje y. Barras que representan elementos en la primera columna de la
matriz son centrados en 1 a lo largo del eje x.
Por ejemplo:
Figura 5-12
40
Figura 5-13
Tambin es posible apilar las barras para pode observar cual es la contribucin
de cada elemento. Para hacer esto se debe hacer lo siguiente:
Figura 5-14
Tambin es posible graficar barras con argumento en los ejes x e y. Por ejemplo:
41
Figura 5-15
5.3.2. Grficos de rea
Figura 5-16
42
5.3.3. Histogramas
Figura 5-17
Cuando Y es una matriz, la funcin hist crea un conjunto de porciones por cada
columna, mostrando cada conjunto con colores diferentes.
Por ejemplo:
Figura 5-18
43
Figura 5-19
La funcin polar permite crear grficos polares a partir de las coordenadas del
ngulo y del radio de la forma polar(theta,radio).
Por ejemplo:
Figura 5-20
44
Figura 5-21
5.4.2. Stem3
Figura 5-22
45
5.4.3. Stairstep
Figura 5-23
feather
quiver
quiver3
Descripcin
Muestra vectores que comienzan en el origen de un plano en
coordenadas polares.
Muestra vectores que se extienden desde el origen de puntos
igualmente espaciados a lo largo de la lnea horizontal
Muestra vectores 2D especificados por las componentes (u,v)
Muestra vectores 3D especificados por las componentes (u,v,w)
Tabla 5.4
5.5.1. Compass
46
Figura 5-24
La funcin feather muestra vectores que emanan desde una lnea recta
paralela al eje x. Por ejemplo, crear vectores de magnitud unitaria que vayan
desde los 90 a los 0.
Nota: Antes de crear el grfico, se deben transformar los datos a coordenadas
cartesianas.
Figura 5-25
47
Figura 5-26
5.5.3. Quiver
Figura 5-27
48
5.5.4. Quiver3
La funcin quiver3 muestra los vectores (u,v,w) en las posiciones (x,y,z). Por
ejemplo, se puede observar la trayectoria de una partcula como funcin del
tiempo.
1
z (t ) = vz t + a t 2
2
Primero se asignan los valores de los parmetros y luego se obtiene la altura z:
Figura 5-28
49
Figura 5-29
O en tres dimensiones
Figura 5-30
50
Figura 5-31
5.7. Grficos 3D
5.7.1. Plot3
Figura 5-32
51
Figura 5-33
Las funciones mesh y surf crean una superficie 3D de una Matriz de datos. Si
Z es una matriz para la cual los elementos Z(i,j) definen la altura de la
superficie sobre la grilla (i,j) entonces mesh(Z) y surf(Z) generan superficies
coloreadas en 3D. Por ejemplo:
Figura 5-34
52
Figura 5-35
5.7.3. Visualizacin de variables de dos dimensiones
53
Figura 5-36
5.8. Animaciones
54
NAME
Valores
Por defecto 15
'Indeo3', 'Indeo5', 'Cinepak', 'MSVC', 'RLE' o 'None'
Entre 0-100. Por defecto 75
Por defecto 2 key frame por segundo
Matriz de tres columnas.Debe ser menor a 256 (menor a 236 para
compresin Indeo)
Menor a 64 caracteres, por defecto es el nombre del archivo
Tabla 5.5
3.
55
6. Objetos simblicos
Un objeto simblico es una estructura de datos que almacena una representacin string
de un smbolo. Este permite representar variables, matrices y expresiones de forma
simblica.
Para declarar una variable como simblica se utiliza la funcin sym, o en el caso de
varias variables syms.
El siguiente ejemplo permite observar la diferencia entre una variable estndar de
MATLAB y una variable simblica.
se
puede
generar
el
polinomio
simblico
56
O ms eficientemente
57
Entonces f acta como f ( x) , por lo que puede ser manipulada como una variable
simblica. Por ejemplo, para construir el diferencial de f ( x) se debe escribir:
O tambin
La secuencia de comandos
59
6.4. Clculo
6.4.1. Diferenciacin
Si se desea derivar con respecto a otra variable se debe especificar tal como se
aprecia en el siguiente ejemplo:
6.4.2. Jacobiano
( x, y , z )
(r , , )
Por ejemplo:
60
6.4.3. Lmites
6.4.4. Integracin
61
6.4.5. Sumatoria
Para realizar una sumatoria simblica se debe utilizar la funcin symsum tal
como se puede apreciar en el siguiente ejemplo:
f ( x) = ( x a )n
n =0
f ( n ) (a)
n!
Por ejemplo:
62
Figura 6-1
O la funcin ezplot3:
Figura 6-2
63
7. Bibliografa
Documentacin MATLAB 6.5
64