Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Curso de Matlab PDF
Curso de Matlab PDF
C U R S O - M A T L A B
Comandos
Importantes Y
clf
Digitando Alt92
>>a = 5;
>>
Claves
Digitando Alt126
Significa o
INTRODUCCIN
INTRODUCCIN
MATLAB = Laboratorio de Matrices, todo dato que trabaja matlab es un elemento de una matriz
Conceptos Bsicos:
Datos aceptados,
-Datos Alfanumricos = Representan texto, no hay como hacer operaciones numricas.
-Datos Numricos = Representan datos.
Datos enteros = datos exactos, ejm. 0
Punto Flotante, Las comas de una cifra.
Densidad de una reta, Entre 2 reales siempre vamos a encontrar un real.
- El valor ms pequeo es
es 1 +
Operadores,
OPERACIN
OPERADOR
ASOCIATIVIDAD
Divisin
4/2=2
4 \ 2 = 0,5
Suma
+
IZQ ------ DER
Resta
Multiplicacin
Potenciacin
Ingreso de Datos,
4x 5x 8 = 0
=
X1 =
2 4
Si no pongo el parntesis el
programa el programa 1ro lo eleva
a 1 y luego lo divide para 2
(-(-5)+(((-5)^2)-4*4*(-8))^(1/2))/(2*4)
El mismo caso, si no ponemos el
parntesis el programa 1ro nos
divide para 2 y luego nos
multiplica por 4
2E3
2 x 103 = 2000
2/3
2/3 = 0,6667
2/3 = 0,666666667
2/3 = 6,6667e-001
Otros comandos,
>> FORMAT RAT, Devuelve el numero en fraccionarios.
>> FORMAT BAK, Formato bancario.
>> FORMAT + , Devuelve el signo del numero.
Variables de Comando:
Es la combinacin de letras, dgitos
OK
raiz1
r2
ERROR
raz 1
OK
r1
ERROR
1r - radio
ERROR
raz 1
Variables de Activas:
who, whos, size(a)
(letra de la variable)
Variables Reservadas:
ans, devuelve el eco
pi, devuelve el valor constante
i, devuelve la raz -1 ( 1)
inf, infinito ejem. 3/0
NaN, dato no numrico ejem. 0/0
- Funcin
Log(x)
Ln (x)
Log10 (x)
Log (x)
- Funcin
Redondeo de Nmeros
- Funcin
- Funcin
- Funcin
- Funcin
Funciones Trigonomtricas
sin (x)
cos (x)
tan(x)
sec(x)
csc(x)
cot(x)
asin(x)
acos(x)
atan(x)
Ejemplo
Cos 45 = 0,5253
(radianes)
Cos (45*pi/180) = 0,7071 (grados)
Comandos de Ayuda
- Comando
Comando
COLEGIO
DE INGENIEROS
CIVILES
d = entero
f = flotante
s = alfanumrico
Para que imprima con un 2 decimales y con 5 espacios del margen o de la anterior respuesta ,
fprintf('% 5.2f',l1);
EJERCICIOS
-Resolucin de un triangulo
CAPITULO 1
CAPITULO 1
ARRAYS (arreglos-vectores-matrices)
Es un conjunto de datos del mismo tipo, un nico identificador, pero cada dato se diferencia por el ndice.
a=
IND
5
1
-3
2
0
3
8
4
(1*5)
4
5
f
i
l
a
s
A(1)
A(2)
.
.
.
A(5)
c
o
l
u
m
n
a
Decremento,
>>d = 10 : -1 : 1
- Con un incremento de 1
- Con un decremento de -1
- Hasta llegar al 10
- Hasta llegar al 1
>>a = 1 : 1 : 10
a = 1 2 3 4 5 6 7 8 9 10
>>a = 2 : 2 : 10
b = 2 4 6 8 10
>>d = 10 : -1 : 1
d = 10 9 8 7 6 5 4 3 2 1
Otros comandos
- Comando linspace,
Vector = linspace(valor inicial, valor final, numero de elementos)
l = 3,25
V I G A
>>l=3,25
l = 3,2500
>>x=linspace(0, l, 20)
El numero 20 significa que al 3,25 lo va a dividir en 20 partes
- Comando sort, Ordena al vector de menor a mayor
Graficas de Funciones
- Comando plot ( x , y ), para graficar.
- Comando grid, para aplicar cuadricula.
- Comando x label ('angulo[rad]'), para ttulos en el eje x.
- Comando y label ('seno'), para ttulos en el eje y.
- Comando tittle ('y=sin(x)'), para el titulo general.
EJERCICIOS
>> a,b
a = 5 -3
b = 3.5000
0 8 4
4.0000 -2.0000 40.0000
h=[a b]
h = 5.0000 -3.0000
>> whos
Name
a
ans
b
h
Size
8.0000
Bytes Class
1x5
1x2
1x6
1x11
40 double
16 double
48 double
88 double
TRANSPUESTA DE UN VECTOR
>> a
a=
-3
>> a'
ans =
5
-3
0
8
4
1.0000 -15.0000
4.0000
3.5000
Attributes
1.0000 -15.0000
10
10
>> b=2:2:10
b=
2
>> c=0:0.1:1
c=
0 0.1000
>> d=10:-1:1
d=
10 9 8
0.2000
0.3000
0.4000
0.5000
0.6000
0.7000
0.8000
0.9000
1.0000
0.3142
Columns 23 through 33
0.6283
0.9425
1.2566
1.5708
1.8850
2.1991
2.5133
2.8274
5.0265
5.3407
5.6549
5.9690
6.2832
Columns 34 through 41
4.0841
4.3982
4.7124
3.1416
3.4558
3.7699
1.6429
2.2857
2.9286
3.5714
4.2143
4.8571
5.5000
6.1429
6.7857
Columns 12 through 15
8.0714
8.7143
9.3571 10.0000
Ejemplo 2
y=linspace(1,0,10)
y=
1.0000
0.8889
0.7778
0.6667
0.5556
0.4444
0.3333
0.2222
0.1111
-3
>> t=size(a)
t=
-3
>> sum(a)
ans =
11
>> max(a)
7.4286
ans =
>> min(a)
ans =
-3
>> sort(a)
ans =
-3
-8
>> a(1)
>> a(2)
ans =
ans =
3
-5
0 -10
- Elemento de a, posicin 1
>> a([1 2])
-Elemento de a, posicin 2
ans =
-5
- Fila 1
>> a(1,2)
ans =
3
-Posicin 2
1 -10
>> a(1:2:5)
ans =
-5
1 -10
>> a(:)
ans =
-5
3
1
0
-10
2
AUMENTAR ELEMENTOS
a=
-5
0 -10
>> a(7)=4
a=
-5
0 -10
0 -10
>> a(10)=5
a=
-5
-5
0 -10
10
-5
-3
0 -10
-1
10
ELIMINACION DE ELEMENTOS
a=[-1 0 3 5 -8]
a=
-1
-8
>> a(5)= [ ]
corchetes unidos
a=
-1
>> a(2)=[]
corchetes unidos
a=
-1
>> c=a(9:-1:1)
c=
>> a=3:0.1:3.5
a=
3.0000
3.1000
3.2000
3.3000
3.4000
3.5000
>> b=a(6:-1:1)
b=
3.5000
3.4000
3.3000
3.2000
3.1000
3.0000
>> a=0.128:0.2:3.156;
>> [nf nc]=size(a);
>> b=a(nc:-1:1)
b=
Columns 1 through 11
3.1280
2.9280
2.7280
2.5280
2.3280
0.3280
0.1280
0.7280
0.9280
2.9280
3.1280
2.1280
1.9280
1.7280
1.5280
1.3280
1.1280
1.1280
1.3280
1.5280
1.7280
1.9280
2.1280
Columns 12 through 16
0.9280
0.7280
0.5280
>> a
a=
Columns 1 through 11
0.1280
0.3280
0.5280
Columns 12 through 16
2.3280
2.5280
2.7280
abcd z
OPERACIONES MATEMATICAS
>> a=[3 0 -8 2 -1 4]
a=
-8
-1
>> a+3
ans = 6
-5
-1
-1
-4
>> a-3
ans =
-3 -11
a/3
ans =
1.0000
0 -2.6667
0.6667 -0.3333
1.3333
>> d=(-2:0.1:2)*pi
d=
Columns 1 through 11
-6.2832 -5.9690 -5.6549 -5.3407 -5.0265 -4.7124 -4.3982 -4.0841 -3.7699 -3.4558 3.1416
Columns 12 through 22
-2.8274 -2.5133 -2.1991 -1.8850 -1.5708 -1.2566 -0.9425 -0.6283 -0.3142
0.3142
Columns 23 through 33
0.6283
0.9425
1.2566
1.5708
1.8850
2.1991
2.5133
2.8274
5.0265
5.3407
5.6549
5.9690
6.2832
Columns 34 through 41
4.0841
4.3982
4.7124
3.1416
3.4558
3.7699
-8
-1
-1
>> b
b=
2
-7
-9
-4
>> a-b
ans =
1
-Programa de temperatura
INTERPOLACION BIDIMENSIONAL
Se hizo un experimento determinar cmo es la distribucin de la temperatura en un microondas:
calentando un pastel y retirando termmetros ubicados en ciertas posiciones
Trazando en cada posicin lneas simtricas tanto paralelas como perpendiculares
Ejes
1
Cada uno de los ejes nos proporciona un grafico para cada conjunto de datos.
Nota: DIVISIN DEL REA DE GRFICOS
Ahora cambiamos el sentido del corte y tendremos la vista longitudinal del elemento
Nota: Cuando se interpola tanto en largo como en ancho se produce un error ya que ambos se encuentran
como filas
>> tti=interp2(l,a,t,li,ai)
??? Error using ==> interp2 at 147
XI and YI must be the same size or vectors of different orientations.
Para evitar este error, los vectores deben estar ubicados de la misma manera en que se encuentran en el
terreno, es decir , uno de ellos debe estar como colunma
ai')
tti=interp2(l,a,t,li,
La funcin MESH nos proporciona el volumen del terreno, en cambio si se desea las curvas de nivel de la
figura utilizamos la funcin CONTOUR .
Si se desea ampliar el nmero de curvas de nivel se le agrega un ltimo argumento indicando el nmero
de curvas deseadas dentro del parntesis
CAPITULO 2
CAPITULO 2
MATRICES, ARREGLOS BIDIMENSIONALES
Matrices con ms de un vector
>> a=[3 5 -2; 4 8 3]
a=
3 5 -2
4 8 3
>> %Creamos otra matriz
>> b=[4:8; linspace(3,4,5); 1 2 3 4 5]
b=
4.0000
3.0000
1.0000
5.0000
3.2500
2.0000
>> size(b)
ans = 3
6.0000
3.5000
3.0000
7.0000
3.7500
4.0000
Reemplazo De Valores
%Para reemplazar un valor
>> a(2,2)=10
a=
3
4
5 -2
10 3
>> a(2,8)=3
a=
3
4
5 -2
10 3
5
0
0
0
0
0
0
0
2
5
8
3
6
9
0
3
8.0000
4.0000
5.0000
8
5
2
9
6
3
>> c=a(1:3,3:-1:1)
c=
3
6
9
2
5
8
1
4
7
8
5
2
7
4
1
2
5
8
1
4
7
a=[5 8 -3 ; 4 1 0; 3 -2 -1]
a=
5
4
3
8
1
-2
-3
0
-1
>> b=a(2:3,2:3)
b=
1
-2
0
-1
1
-2
0
-1
8
1
-2
-3
0
-1
>> a(1,:)=[]
a=
4 1 0
3 -2 -1
0
-1
Otros Ejemplos
Dados
>> a=[5 8 -3 ; 4 1 0; 3 -2 -1]
a=
5
4
3
8
1
-2
-3
0
-1
>> b=a
b=
5
4
3
8
1
-2
-3
0
-1
-2
1
-2
-1
0
-1
>> b(3,:)=a(1,:)
b=
3 -2 -1
4 1 0
5 8 -3
5
4
3
8
1
-2
-3
0
-1
3
4
5
-2
1
8
-1
0
-3
1
3
2
4
>> b=[5 6; 7 8]
b=
5 6
7 8
>> c=[a b]
c=
1
3
2
4
>> d=[a; b]
d=
1
3
5
7
2
4
6
8
5
7
6
8
Funciones Directas
>> a
a=
1
3
2
4
>> flipud(a)
ans =
3
1
4
2
>> fliplr(a)
ans =
2
4
1
3
>> rot90(a)
ans =
2 4
1 3
>> v=[3 -1 2 5 ]
v=
3
-1
0
0
2
0
0
0
0
5
>> diag(v)
ans =
3
0
0
0
0
-1
0
0
2
4
>> length(a)
ans =
Genreacin de matrices
>> zeros(3)
ans =
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
>> ones(3)
ans =
1
1
1
1
1
1
1
1
1
>> ones(3,4)
ans =
1
1
1
1
1
1
1
1
1
1
1
1
1
1
>> g=ones(length(d))
g=
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
Matriz Identidad
>> eye(3)
ans =
1 0
0 1
0 0
0
0
1
>> eye(3,4)
ans =
1 0
0 1
0 0
0
0
1
0
0
0
>> eye(4,3)
ans =
1
0
0
0
0
1
0
0
0
0
1
0
Determinantes
a=
1
3
2
4
>> det(a)
ans =
-2
EJERCICIO
Resolver el sistema de ecuaciones por el mtodo de Kramer
2x +3y z = 8
-3x y +z =-5
2x + y +z = 7
>> mc=input('Ingresar matriz de coeficientes : ')
Ingresar matriz de coeficientes: [2 3 -1; -3 -1 1; 2 1 1]
mc =
2
-3
2
3
-1
1
-1
1
1
3
-1
1
-1
1
1
>> mx(:,1)=vti
mx =
8
-5
7
3
-1
1
-1
1
1
>> my=mc
my =
2
-3
2
3
-1
1
-1
1
1
>> my(:,2)=vti
my =
2
-3
2
8
-5
7
-1
1
1
>> mz=mc
mz =
2
-3
2
3
-1
1
-1
1
1
>> mz(:,3)=vti
mz =
2
-3
2
3
-1
1
8
-5
7
>> dmc=det(mc)
dmc =
12
>> dmx=det(mx)
dmx =
18
>> dmy=det(my)
dmy =
27
>> dmz=det(mz)
dmz =
21
>> x=dmx/dmc
x=
1.5000
>> y=dmy/dmc
y=
2.2500
>> z=dmz/dmc
z=
1.7500
fprintf('RAICES:\nx= %.2f \ny=%.2f \nz=%.2f',x,y,z)
RAICES:
x= 1.50
y=2.25
z=1.75>>
CDIGO
COLOR
rojo
verde
azul
negro
amarillo
magneta
EJERCICIO
CAPITULO 3
CAPITULO 3
ESTRUCTURAS
Funcin
- Programa 1
- Programa 2
WHILE, mientras
- Programa 3
- Programa 4
Funcin
Desde ( variable : valor inicial : valor final )
Proceso
Fin
- Programa 1
- Programa 2
Funcin
Funcin
IF, si entonces
Primer Opcin
Condicin verdadera
Si (condicin)
Proceso 1
Proceso 2
Proceso 3
Condicin falsa
Si (condicin)
Proceso 1
Proceso 2
Proceso 3
Segunda Opcin
Condicin verdadera
Si (condicin)
Caso contrario
Proceso 1
Proceso 2
Proceso 3
Condicin falsa
Si (condicin)
Caso contrario
Proceso 3
Proceso 1
Proceso 2
(omite proceso 2)
- Programa 1
- Programa 2
- Programa 3
Funcin
- Programa 1
WHILE, mientras
Funcin
- Programa 2
- Programa 3
CAPITULO 4
CAPITULO 4
GRAFICOS, DIAGRAMA DE BARRAS
DIAGRAMA DE GRADAS
Clf
20
18
x=[1 5 9 10];
16
14
y=[18 12 2 20];
12
10
stairs( x , y );
8
6
4
2
DIAGRAMAS POLARES
90
0.5
120
t=0:0.1:2*pi;
t y = abs(sin(2*t).*cos(2*t));
60
0.25
150
30
180
210
330
240
300
270
DIAGRAMA DE PASTEL
14%
pie (v);
40%
11%
ADICIONAL
1
x=-4:1:10;
0.5
y=cos(x);
0
-0.5
-1
Agregar color
-4-3
-2-1
0
12
34
56
78
9
10
10
EJERCICIO
clf
t=0:0.3:5;
x=t.^2;
y=2*t-5;
z=sin(t);
u=cos(t);
v=abs(t);
w=sqrt(t);
y=2t-5
30
z=sin(t)
1
0.5
10
-0.5
-5
t
u=cos(t)
6
-0.5
0
t
w=sqrt(t)
0.5
-1
5
t
v=abs(t)
-1
20
5
t
5
t
MANEJO DE EJES
PARA CAMBIAR LOS EJES, COORDENAS MINIMAS Y COORDENADAS MAXIMAS DENTRO DEL
PARENTESIS
x=(-2:0.1:2)*pi;
y=sin(x);
plot(x,y);grid;
Axis ( [ -4
4 -0.6 .6 ] ) ;
0.5
0.4
0.3
0.2
0.1
0
-0.1
-0.2
-0.3
-0.4
-0.5
-4
-3
-2
-1
OTRO EJEMPLO
0.5
z=5*x.^3 +3*x.^2-2*x+8;
plot(x,z);grid;
axis([-4 4 -0.6 .6]);
0.4
0.3
0.2
0.1
0
-0.1
-0.2
-0.3
-0.4
-0.5
-4
-3
-2
-1
axis auto
1500
1000
500
-500
-1000
-1500
-8
-6
-4
-2
-4
-2
axis square
1500
1000
500
-500
-1000
-1500
-8
-6
axis equal
1000
500
-500
-1000
-1500
-1000
-500
500
1000
1500
CON AXIS IJ
GRAFICO NORMAL
1
-1
0.8
-0.8
0.6
-0.6
0.4
-0.4
0.2
-0.2
-0.2
0.2
-0.4
0.4
-0.6
0.6
-0.8
0.8
-1
-8
-6
-4
-2
1
-8
-6
-4
-2
EJERCICIO COMPLETO
compass ( x , y );
90
120
60
4
3
150
30
2
1
180
210
330
240
300
270
4
3.5
3
2.5
2
1.5
1
0.5
0
-4
-2
10
12
fplot
('sin(x)',[-3,3]);
1
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
-3
fplot
-2
-1
-1
( '4*x.^2-3*x+2' , [ -3 , 3 ] );
50
45
40
35
30
25
20
15
10
5
0
-3
-2
ezplot('4*x.^2-3*x+2',[-3,3]);
4 x 2-3 x+2
50
45
40
35
30
25
20
15
10
5
0
-3
-2
-1
0
x
EJERCICIO, EXPONENCIAL
LOGARITMICO
clc
clear
clf
x=1:.2:10;
y=1+exp(-x.^2);
subplot ( 2 , 2 , 1 ); plot ( x , y ) ; grid ; title('Funcin exponencial NORMAL');
EJE DE LAS
SEMILOGARITMICO EN X
1.4
1.4
1.3
1.3
1.2
1.2
1.1
1.1
1
0
10
10
SEMILOGARITMICO EN y
10
LOGARITMICO TOTAL
0.1
0.1
10
10
10
10
10
0
10
10
-6
-4
-2
GRAFICAS DE SUPERFICIES
Clf
t=(-6:0.2:8);
x=t;
y=3-t;
z=cos(t);
GRFICOS DE 3 DIMENSIONES
plot3 ( x , y , z );grid
0.5
0.5
-0.5
-0.5
-1
10
10
5
0
0
-5
-5
-10
-1
10
10
5
0
0
-5
-5
-10
GRAFICOS EN VOLUMEN
Para poder formar grficos en volumen se necesita una matriz que interseque los valores de x & y para
graficarlo con los valores de z.
xa = 0 : 0.2 : 5;
ya = 0 : 0.2 : 8;
[x
y ] = meshgrid ( xa , ya )
-
[x
Para formar una retcula cuadrada con variaciones del mismo tipo
y ] = meshgrid ( 0 : 0.2 : 4 )
13
x 10
8
6
4
2
0
4
4
3
1
0
GRAFICOS EN VOLUMEN 2
Clear
[x
y ] = meshgrid ( -2 : 0.2 : 2)
z = x.*exp(-x.^2-y.^2);
mesh ( x , y , z )
0.5
-0.5
2
1
2
1
-1
-1
-2
-2
meshc ( x , y , z );
0.5
-0.5
2
1
2
1
-1
-1
-2
-2
EJEMPLO 1
Clear
[x y]=meshgrid(-2:.2:2);
z=x.^2+y.^2;
mesh(x,y,z);
meshc(x,y,z);
8
6
4
2
0
2
1
2
1
-1
-1
-2
-2
EJEMPLO 2
Clear
[x,y]=meshgrid(-3:0.2:3);
z=x.^2-y.^2-9;
Limita la grafica
meshz (x , y , z);
0
-5
-10
-15
-20
4
2
0
-2
-4
-3
-2
-1
EJEMPLO 3
Clear
[x,y]=meshgrid(-1.5:0.2:1.5);
z=sin(x.^2+y.^2);
surf(x,y,z)
surfl(x,y,z);
0.5
0.5
-0.5
-0.5
-1
2
-1
2
1
0
-1
-2
-1.5
-1
-0.5
0.5
1.5
1
0
-1
-2
EJEMPLO 4
-
Surfc ( x , y , z);
1
0.5
0
-0.5
-1
2
1
0
-1
-2
-1.5
-1
-0.5
0.5
1.5
-1.5
-1
-0.5
0.5
1.5
EJEMPLO 5
clear
clf
0.5
[x,y]=meshgrid(-7.5:.5:7.5);
z=(sin(sqrt(x.^2+y.^2)))./(sqrt(x.^2+y.^2));
surf(x,y,z);
-0.5
10
5
10
5
-5
-5
-10
-10
EJEMPLO 5
Clear
2
[x,y]=meshgrid(-3:0.2:3);
z=sin(x)+cos(y);
0
-1
Waterfall ( x , y , z);
4
2
-2
-2
-4
CURVAS DE NIVEL
contour(x,y,z,20);
-4
2
2
1
1
0
0
-1
-1
-2
2
-2
0
-3
-3
-2
-2
-1
-3
-2
-1
PARA
t=(-10:1/250:10)*pi;
x=((cos(2*t)).^2).*sin(t);
y=((sin(2*t)).^2).*cos(t);
z=t;
comet3(x,y,z);
GRAFICOS DE ESFERAS
clear
sphere
1
1
0.5
0.5
0
0
-0.5
-0.5
-1
1
-1
1
0.5
1
0.5
0.5
-0.5
0.5
-0.5
-0.5
-1
0
-0.5
-1
-1
-1
cylinder(y);
2.6
2.4
2.2
2
1.8
1.6
1.4
0.8
1.2
1
0.6
0.4
0.2
0
4
OTRO EJERCICIO
x=0:5;
y=2*x+3;
subplot(1,2,1);plot(x,y);
subplot(1,2,2);cylinder(y);
-2
-4
-2
13
12
1
11
10
0.8
0.6
0.4
0.2
0
20
20
4
3
0
0
0
-20
-20
SEUDOANIAMACIONES EN MATLAB
M= memoria prar presentar un numero de frames
% En el parentesis digito el numero de imagenes a presentar
M=moviein(30);
x=[-2*pi:0.2:2*pi];
%Genero varias imagenes
for j=1:30
y=sin(x+j*pi/8);
plot(x,y);
%Para presentar la imagen M(filas columnas)=getframe(devuleve un vector columna
con la informacion necesaria para presentar la imagen)
M(:,j)=getframe;
end
%La instruccion que presenta la pelicula es movie(M, # de veces que deseo repetir la
pelicula, velocidad de la Presentacion)
movie(M,10,15)
OTRO EJERCICIO