ESPECIALIZACIN EN AUTOMATIZACIN
INDUSTRIAL
2016-II
UNIVERSIDAD PEDAGGICA Y TECNOLGICA DE
COLOMBIA
Matlab
MATLAB (Matrix Laboratory) es un
lenguaje de alto nivel y un ambiente
interactivo Creado por MathWorks.
Est diseado para realizar rpida y
eficientemente tareas matemticas
computacionalmente intensivas.
Clculos numricos con vectores,
matrices;
escalares
reales
o
complejos; cadenas de caracteres y
estructuras
de
informacin
complejas.
Amplia variedad de grficos en dos
y tres dimensiones.
Ing. Maria L. Pinto, Ing. Camilo
Sanabria
Toolbox
Dispone de un cdigo bsico y de varias libreras especializadas toolboxs
http://www.mathworks.com/products/
http://www.mathworks.com/academia/student_version/
Ing. Maria L. Pinto, Ing. Camilo
Sanabria
5
2
4
Ing. Maria L. Pinto, Ing. Camilo
Sanabria
Empezando.
Definicin de una variable:
>> v=10
v=
10
>> x=2;y=5; z=y-x; w=x*y;
>>
Ing. Maria L. Pinto, Ing. Camilo
Sanabria
10
Empezando.
Definicin de una variable:
>> v=10
v=
10
>> x=2;y=5; z=y-x; w=x*y;
Borrar espacio de trabajo: clc
>>
Borrar variables: clear
Para borrar una variable especfica:
>> clear v
Ing. Maria L. Pinto, Ing. Camilo
Sanabria
11
Empezando.
>> v=10
v=
10
>> V=15
V=
15
>> c=V-v
c=
5
>>
12
Empezando.
Operaciones matemticas:
Con la flecha hacia arriba y enter
Para que no aparezca la operacin, terminar con
13
Empezando
Definicin de una variable:
>> v=10
Creacin de un vector fila:
>> A=[1,2,3,4,5]
Creacin de un vector columna:
>> B=[1;2;3;4;5]
14
Empezando.
Creacin de una matriz:
>> M = [1 , 2 , 3 ; 4 , 5 , 6 ; 7 , 8 , 9 ]
Creacin de un matriz con decimales:
>> Md = [1 , 2.02 , 3 ; 4 , 5 , 6 ; 7 , 8 , 9 ]
Creacin de un matriz con notacin cientfica :
>> Mc = [1 , 2.02 , 3e15 ; 4 , 5e-15 , 6 ; 7e-1 , 8 , 9 ]
Definir cifras significativas
>> format long
>> format rat
15
Empezando.
Variables definidas:
Ans
i
>> 4+5
>> i
ans =
ans =
0
9
>> 34*434
ans =
j
>> j
ans =
0
1i
1i
14756
Ing. Maria L. Pinto, Ing. Camilo
Sanabria
Comandos de ayuda
F1
>> help
Comandos y caracteres especiales
>>help ops
Lista de comandos de programacin
>>help lang
17
>> v1=1:0.5:3
v1 =
1.0000 1.5000
>>
2.0000
2.5000
10
3.0000
18
1.5000
1.7500
2.0000
19
2.0000
20
ans =
>> A(:,3)
ans =
5
6
9
>> A(2,3)=-1
A=
>> A(3,3)
ans =
9
Ing. Maria L. Pinto, Ing. Camilo
Sanabria
3
3
7
4
4
8
5
-1
9
21
22
23
A=
1
6
3
-8
>> B=[2,6,-8;4,6,8]
B=
2
4
6
6
-8
8
3
-8
2
4
>> [A,B]
ans =
1
6
Ing. Maria L. Pinto, Ing. Camilo
Sanabria
6
6
-8
8
24
B=
2
4
6
6
-8
8
>> C=[1,2,4;4,-6,7]
C=
1
4
2
-6
4
7
>> [C;B]
ans =
1
4
2
4
2
-6
6
6
4
7
-8
8
25
Polinomios
Se identifican con el vector-fila de sus coeficientes:
= 34 4 12.5 3 + 124 2 46+ 34
>>p=[34, -12.5, 124, -46, 34]
= 34 4 12.5 3 + 34
>>pp=[34, -12.5, 0, 0, 34]
roots(p) Calcula las races del polinomio p (es un vectorcolumna y, en general, calcula aproximaciones)
>> roots(p)
ans =
-0.0189 + 1.8343i
-0.0189 - 1.8343i
0.2027 + 0.5060i
0.2027 - 0.5060i
Ing. Maria L. Pinto, Ing. Camilo
Sanabria
26
Polinomios
Se identifican con el vector-fila de sus coeficientes:
= 34 4 12.5 3 + 124 2 46+ 34
>>p=[34, -12.5, 124, -46, 34]
= 34 4 12.5 3 + 34
>>pp=[34, -12.5, 0, 0, 34]
polyder(p) Derivada del polinomio p
>> polyder(p)
ans =
136.0000 -37.5000 248.0000 -46.0000
Ing. Maria L. Pinto, Ing. Camilo
Sanabria
27
28
29
30
Graficas bidimensionales
plot() crea un grfico a partir de vectores y/o columnas de
matrices, con escalas lineales sobre ambos ejes.
loglog() dem con escala logartmica en ambos ejes.
31
Graficas bidimensionales
plotyy() dibuja dos funciones con dos escalas
diferentes para las ordenadas, una a la derecha y otra
a la izquierda de la figura.
title('ttulo') aade un ttulo al dibujo.
xlabel('tal') aade una etiqueta al eje de abscisas.
ylabel('cual')
32
Graficas bidimensionales
Ejemplo:
>> x=0:1:100;
>> y=sin(x);
>> plot(y)
>>
33
Graficas bidimensionales
Ejemplo:
>> x=0:1:100;
>> y=sin(x);
>> plot(x,y,'r')
y amarillo
m violeta
c celeste
r rojo
g verde
b azul
w blanco
k negro
. punto
o circulo
x cruz
+ suma
- solido
* estrella
: punteado
-. punto y raya
-- a trazos
34
35
36
Graficas bidimensionales
Ejemplo:
>> x=-pi:pi/10:pi;
>> y=sin(x);
>> z=cos(x);
>> plot(x,y,'k-.',x,z,'r');
>> grid;
>> xlabel('eje x [unidades]');
>> ylabel('Funciones sin(x), cos(x)');
>> title('GRFICAS CON MATLAB')
>>
37
38
Graficas bidimensionales
SUBGRFICAS:
>> x=-pi:pi/10:pi;
>> y=sin(x);
>> z=cos(x);
>> w=exp(x);
>> v=sqrt(x.^2+3);
>> subplot(2,2,1); plot(x,y,'r'); grid; xlabel('eje x [rad]'); ylabel('sin(x)'); title('Grfica 1');
>> subplot(2,2,2); plot(x,z,'k-.'); grid; xlabel('eje x [rad]'); ylabel('cos(x)'); title('Grfica 2');
>> subplot(2,2,3); plot(x,w,'bo'); xlabel('eje x'); ylabel('Funcin exp(x)'); title('Grfica 3');
>> subplot(2,2,4); plot(x,v,'m+'); xlabel('eje x'); ylabel('Funcin raz cuadratica'); title('Grfica 4');
>>
Ing. Maria L. Pinto, Ing. Camilo
Sanabria
39
40
Graficas bidimensionales
plot(x,y)
>> x=0:pi/100:4*pi; y=sin(x).*cos(x/3);
>> plot(x,y)
plot(x,A)
>> x=0:pi/100:4*pi;
>> A=[sin(x);sin(x/2);sin(x/3);sin(x/4)];
>> plot(x,A)
41
42
Graficas bidimensionales
ezplot(f)
>> ezplot('2*sin(x/2)*cos(3*x)',[0,pi/2])
ezpolar(f)
>> ezpolar('sin(2*t)*cos(3*t)',[0,pi])
ezmesh(f)
>> ezmesh('x*exp(-x^2 - y^2)')
ezcontour(f)
>> ezcontour('x*exp(-x^2 - y^2)')
43
44
Graficas bidimensionales
>>
>>
>>
>>
subplot(2,2,1);
subplot(2,2,2);
subplot(2,2,3);
subplot(2,2,4);
ezcontour('x*exp(-x^2 - y^2)');
ezmeshc('sin(u/2)*sin(v/2)');
ezmesh('x*exp(-x^2 - y^2)');
ezplot('sin(3*x)');
45
46
Funciones
Las funciones son ficheros con una estructura especial
function [variables de salida]=nombre(argumentos de entrada)
47
Simulink
48
49
50
51
52
53
54
Referencias
Informacin de ayuda (comandos help) del
programa Matlab.
Tutoriales http://www.mathworks.com/products.
55