You are on page 1of 13

TUTORIAL DE MATLAB

Ing Marvin Molina

INTRODUCCION

El nombre de MATLAB proviene de la contracción de los términos MATrix LABoratory

MATLAB es un entorno de computación y desarrollo de aplicaciones totalmente integrado
orientado para llevar a cabo proyectos en donde se encuentren implicados elevados cálculos
matemáticos y la visualización gráfica de los mismos. MATLAB integra análisis numérico, cálculo
matricial, proceso de señal y visualización gráfica en un entorno completo donde los problemas y
sus soluciones son expresados del mismo modo en que se escribirían tradicionalmente, sin
necesidad de hacer uso de la programación tradicional.

En los medios universitarios MATLAB se ha convertido en una herramienta básica, tanto para los
profesionales e investigadores de centros docentes, como una importante herramienta para el
dictado de cursos universitarios, tales como sistemas e ingeniería de control, álgebra lineal,
proceso digital de imagen, señal, etc. En el mundo industrial MATLAB está siendo utilizado como
herramienta de investigación para la resolución de complejos problemas planteados en la
realización y aplicación de modelos matemáticos en ingeniería. Los usos más característicos de la
herramienta los encontramos en áreas de computación y cálculo numérico tradicional, prototipaje
algoritmico, teoría de control automático, estadística, análisis de series temporales para el
proceso digital de señal.

Ing Marvin Molina
EJECUCION DE MATLAB

Ing Marvin Molina

WORKSPACE

Ing Marvin Molina
COMANDOS MAS USADOS

COMANDO DESCRIPCION
CLC Limpia la ventana de comandos
CLEAR Borra todas las variables de la memoria
CLF Borra la figura actual
Ctrl + c Ocasiona una interrupcion dentro de Matlab.
Sirve para editar o modificar una funcion dentro de matlab o para crear
EDIT
un nuevo archivo - M
EXIT Lo mismo que QUIT
HELP Sirve para acceder al menu de ayuda
LOOKFOR Realiza una busqueda por palabra.
QUIT Se usa para salir de Matlab
WHAT
WHICH Muestra la direccion exacta de la funcion deseada.
>> Este simbolo indica que matlab esta listo para ejecutar los comandos.
Se escribe al final de cada linea de comando y no permite la visualizacion
;
de la respuesta.

Ing Marvin Molina

FORMATO DE NUMEROS

Comando MATLAB Exhibición Ejemplo
format short Por omisión 2.3333
format short e 4 decimales 2.3333e+000
format long 14 decimales 2.33333333333333
format long e 15 decimales 2.333333333333334e+00
format bank 2 decimales 0

format hex exp. 2.33
hexadecimal 4002aaaaaaaaaaab
format +
+, -, espacio +
EJEMPLO

» 20/3 ans = 401aaaaaaaaaaaab

ans = 6.6667e+000 » format +
» ans
6.6667 » format long e
» ans ans =
» format long
» ans ans = +

ans = 6.666666666666667e+000 » format rat
» ans
6.66666666666667 » format hex
» ans ans =
» format short e
» ans ans = 20/3

Ing Marvin Molina
OPERACIONES BASICAS

Operadores Aritméticos
ESCALAR MATRIZ VECTOR DESCRIPCIÓN
+ + + Adición
- - - Sustracción
* * .* Multiplicación
/ / . / División hacia la derecha
\ \ \ . División hacia la izquierda
^ ‘ .’ Transposición

Operadores Relacionales Operadores Lógicos
OPERADOR DESCRIPCIÓN OPERADOR DESCRIPCIÓN

< menor que & Y (and)
<= menor o igual que | O (or)
> mayor que ~ NO (not)
>= mayor o igual que
== Igual
~= no igual

Ing Marvin Molina

CARACTERES ESPECIALES

Caracteres Especiales:
CARACTERES DESCRIPCIÓN

[] Se utilizan para formar vectores y matrices

() Define precedencia en expresiones aritméticas. Encierra
argumentos de funciones en forma usual

, Separador de elementos de una matriz, argumentos de
funciones y declaraciones en líneas con declaraciones
múltiples

; Separador de declaraciones, termina renglones de una matriz

Caracteres Especiales
Especiales:: Para llamar a estos caracteres se utiliza la tecla Alt + “numero”. Numero se refiere a el
numero correspondiente al carácter. Se utiliza el teclado numerico( el derecho) para introducirlo.

CARACTER NUMERO CORRESPONDIANTE CARACTER NUMERO CORRESPONDIANTE

’ 39 \ 92
< 60 ] 93
> 62 ^ 94
[ 91 | 124

Ing Marvin Molina
USO BASICO DE MATLAB

Manejo de variables:
En MATLAB como en cualquier otro lenguaje de programación o asistente matemático, se utilizan variables. Las
variables deben tener un nombre según ciertas reglas. Estas reglas son:
NO pueden comenzar con un numero, aunque si pueden tener numeros. (variable23 es un nombre válido, pero
23variable, no.)
Las mayúsculas y minúsculas se diferencian en los nombres de variables. (A y a son dos variables diferentes)
Los nombres de variables no pueden contener operadores ni puntos. (No es válido usar /,*,-,+,...).
Si se trabaja con complejos solo puede utilizarse uno de los nombres i y/o j para variables.
No es necesario definir eltipo de variable o tamaño (si se usa un vector y luego se modifica, no hay problema)

Vectores y Matrices:
Los vectores y matrices en MATLAB se trabajan igual en cuanto a asignación, por eso se explican juntos. Pero las
operaciones posibles, si son diferentes, y estas separadas bajo los encabezados correspondientes.
Asignación:
La asignación de variables en MATLAB es sencilla, y los vectores y matrices no son la excepcion. Cuando se desea
dar el valor a toda una matriz se puede realizar directamente de la siguiente forma:
a=[1 2 3 4;5 6 7 8;9 0 1 2]; o tambien,
a=[1,2,3,4;5,6,7,8;9,0,1,2]; Las filas se separan por punto y coma y las columnas por espacios o comas.

Ing Marvin Molina

Matlab arroja la siguiente visualizacion
a=

1 2 3 4
5 6 7 8
9 0 1 2

Un vector fila se asigna asi
v=[1 2 3]; o tambien
v=[1,2,3];
Y un vector columna se asigna asi
v=[1;2;3];

Manejo de subíndices:
Otra forma de asignar valores a una matriz (o un vector) es por medio de los subíndices. El menor subíndice
utilizado por MATLAB es 1.

a(2,3)=1 Asigna al elemento en la fila 2 y la columna 3 el valor de 1

Ing Marvin Molina
a=

1 2 3 4
5 6 1 8
9 0 1 2
Si se desea cambiar todo el valor de una fila o una columna, es muy sencillo hacerlo con el operador “:” asi:

a(1,:) = [4 5 6 7];
asigna a la fila 1 el vector [4 5 6 7]
a=
4 5 6 7
5 6 1 8
9 0 1 2
Igualmente a veces se requiere trabajar con vectores que son una columna o una fila de una matriz. Esto se
realiza fácilmente guardando este vector en un vector, asi:
v=a(:,1);
asigna al vector v la primera columna de la matriz a
v=
4
5
9

Ing Marvin Molina

EJEMPLOS DE LAS OPERACIONES BASICAS

>> 13/3 b= a + 3 3 Inner matrix
dimensions must
ans = b = 5
agree.
4.3333 3 4 5 6 7
8 9 10 11 12
>> 3\13 d’
13 >> d.*f
ans = ans =
ans =
4.3333 1 3 5
t = 0:2:20 4
>> 4^11
t = 18
ans = f = [4; 6; 9]
0 2 4 6 8 45
4194304 f =
10 12 14 16 18 20
>> 2*pi^3 4
c= a+b
>> d * f’
ans 6
c =
ans =
62.01255336059963 9
3 5 7 9 11
4 6
a = [0 1 2 3 4 5 6 7 13 15 17 19
9
8 9 10] 21 23 >> d*f
12 18
a=
??? Error using ===> 27
0 1 2 3 4 5 6 7 d = [1; 3; 5] *
20 30
8 9 10
d = 45

1

Ing Marvin Molina
>>d.*f 0.4286 ??? Error using ==> %Para entrar la
^ matriz
??? Error using ==> 0.7143
.* Matrix must be 0 2
>> a./7
square.
Matrix dimensions 3 4
ans =
must agree. >> d.^2
%y lo guardamos en
0.1429
ans = una variable a,
0.4286
>> d*4 1 >> a = [1 2; 3 4]
0.7143
ans = 9 %Para redisplay la
matriz, simplemente
4 25
>> d^f teclee su nombre:
12 >> 3ˆd
??? Error using ==> >> a
20 ??? Error using ==>
^
%Primero elevemos al
^
Matrix dimensions cuadrado la matriz
Matrix must be
>>f.*4 must agree. a:
square.
ans = >> a*a

16 >> d.^f %Ahora nosotros
>>3.^d
24 ans = probaremos algo un
ans = poco más
36 1
3 dificultoso. Primero
>>a/7 729 definimos una matriz
17
ans = 1953125 b:
243
0.1429 >> d ^2 >> b = [1 2; 0 1]

Ing Marvin Molina

%Entonces nosotros nosotros podamos %qué es igual que es diferente de
computamos el usarlo después: cero:
>>inv(s) * s
producto a*b:
>> s = a + b >> det(a)
%Para ver que estas
>> a*b
%Las matrices a operaciones son >> det (c)
%Finalmente, veces puede correctas y/o
efectuamos el invertirse: diferentes, nosotros
producto en el otro hacemos lo
>> inv(s)
orden: siguiente:
%Para verificar que
>> b*a >> a/b
esto es correcto,
%Sabemos que los dos nosotros computamos >> a\b
productos son el producto de s y
%No todas las
diferentes: porque su inverso:
matrices pueden
la multiplicación de
>> s * inv(s) invertirse, o puede
matrices es no
usarse como el
%El resultado es la
conmutativa.
denominador en la
unidad, o matriz de
%Por supuesto, división de
identidad. También
también podemos matrices:
podemos escribir el
sumar matrices:
cómputo como >> c = [1 1; 1 1]
>> a + b
>> s/s >> inv( c );
%Ahora guardemos el
%también podemos %Una matriz puede
resultado de esta
escribir invertirse si y sólo
suma para que
si su determinante
>> s\s

Ing Marvin Molina
Marcadores, Estilos de Linea y Color para el comando “Plot”

Nombre
Marcador Descripción Símbolo Estilo de Línea RGB Valor Nombre Corto
Largo
+ Signo mas - Sólido [1 1 0] Y yellow

O Circulo -- Rayada [1 0 1] M magenta

* Asterisco : Punteada [0 1 1] C cyan

. Punto -. Punto-raya [1 0 0] R red
X Equis Nada Sin línea [0 1 0] G green
S Cuadrado [0 0 1] b blue
D Diamante [1 1 1] w white
^ Triangulo [0 0 0] k black
V Triangulo
> Triangulo
< Triangulo

P
Estrella
5-puntas

H
Estrella
6-puntas
Nada Ninguno

Ing Marvin Molina

Comando Descripción
axis([xmin xmax ymin ymax]) Proporciona los valores máximos y mínimos de los ejes

v=axis V es un vector fila que contiene los valores actuales del grafico

axis auto Retorna la escala de los ejes a sus valores predeterminados
axis(‘auto’) automáticamente

Congela la escala a los limites de la grafica y no permite que se
axis manual
cambie para los siguientes gráficos.

axis xy Utiliza las coordenadas cartesianas predeterminadas

axis ij Invierte el eje y

axis square Convierte las coordenadas cartesianas en un cuadrado

axis equal La escala para el eje x y para el eje y son iguales

axis tight

axis vis3d

axis normal

axis off Desactiva los ejes

axis on Activa los ejes

Ing Marvin Molina
sin(x) c os(x )
1 1

0.5 0.5

0 0

-0.5 -0.5

-1 -1
0 2 4 6 0 2 4 6

2s in(x )c os (x ) s in(x )/c os (x)
1 20

0.5 10

0 0

-0.5 -10

-1 -20
0 2 4 6 0 2 4 6

» x=linspace(0,2*pi,30);
» y=sin(x);
» z=cos(x);
» a=2*sin(x).*cos(x);
» b=sin(x)./(cos(x)+eps);
» subplot(2,2,1)
» plot(x,y),axis([0 2*pi -1 1]),title('sin(x)')

Ing Marvin Molina

» subplot(2,2,2)
» plot(x,z),axis([0 2*pi -1 1]),title('cos(x)')
» subplot(2,2,3)
» plot(x,a),axis([0 2*pi -1 1]),title('2sin(x)cos(x)')
» subplot(2,2,4)
» plot(x,b),axis([0 2*pi -20 20]),title('sin(x)/cos(x)')

Ing Marvin Molina
Ejem plo de Diagram a de P astel
7%

14% 29%

22%
11%

17%

Ejem plo de Diagram a de P areto
7.2 100%

6 83%

4 56%

2 28%

0 0%
6 3 4 2 5 1

» a=[.5 1 1.6 1.2 0.8 2.1];
» subplot(2,1,1)
» pie(a,a==max(a)),title('Ejemplo de Diagrama de Pastel')
» subplot(2,1,2)
» pareto(a),title('Ejemplo de Diagrama de Pareto')

Ing Marvin Molina

» x=-2.9:0.2:2.9;
» y=exp(-x.*x);
» subplot(2,2,1)
» bar(x,y),title('Diagrama de Barras')
» subplot(2,2,2)

Ing Marvin Molina
» bar3(x,y),title('Diagram de Barras en 3D')
» subplot(2,2,3)
» stairs(x,y),title('Diagrama de escalera')
» subplot(2,2,4)
» barh(x,y),title('Diagrama de Barras Horizontales')

Ing Marvin Molina

Grafic o en c oordenadas polares
90 0.5
120 60
0.25
150 30

180 0

210 330

240 300
270

Diagram a de Com pas de los valores propios de una m atriz aleatoria
90 5
120 60
2.5
150 30

180 0

210 330

240 300
270

» t=linspace(0,2*pi);
» r=sin(2*t).*cos(2*t);
» z=eig(randn(20,20));
» subplot(2,1,1)
» polar(t,r),title('Grafico en coordenadas polares')
» subplot(2,1,2)
» compass(z),title('Diagrama de Compas de los valores propios de una matriz aleatoria')

Ing Marvin Molina
plot of s in(x )2 /x
0.8

0.6

0.4

0.2

0

-0.2

-0.4

-0.6

-0.8
-8 -6 -4 -2 0 2 4 6 8

» x=linspace(-2*pi,2*pi,60);
» y=sin(x).^2./(x+eps);
» plot(x,y)
» title('plot of sin(x)^2/x')
» [a,b]=ginput(8); %obtiene hatas 8 puntos del grafico
» hold on
» plot(a,b,'mo') % grafica los datos recolectados
» hold off

Ing Marvin Molina

FUNCION DESCRIPCION DEL MAPA DE COLOR

hsv Valor de alta saturación de colores de tinte

hot Negro , rojo, amarillo, blanco

gray Escala lineal de grises

bone Escala de grises con un poco de azul

copper Tono cobrizo

pink Rosa pastel

white Todos los blancos del mapa de colores

flag Alternando rojo, blanco, azul y negro

jet Una variante de hsv

prism Mapa de colores de prisma

cool Sombra de cyan y magenta

lines Mapa de colores que usa líneas de colores

colorcube Mapa de colores que crecen al cubo

summer Sombras de verde y amarillo

autumn Sombras de rojo y amarillo

winter Sombras de azul y verde

spring Sombras de magenta y amarillo

Ing Marvin Molina
Ing Marvin Molina