Está en la página 1de 53

MATLAB

25/Enero/2016
Matrix

Laboratory

Utilizacin como Calculadora:


>> 5 + 7
ans= 12

>> 8-4
ans= 4

>> 5^2
ans=25

5/ 8

>>

3 + 93
3
5+
4
7+
9

ans= -132.8919

La PRECEDENCIA:
( ) Parentesis
^ Potenciacin
* / Multiplicacin y Divisin
+ - Suma y Resta

Cuando la operacin tenga la misma precedencia MATLAB realiza la operacin


de izquierda a derecha, ejemplo:

>> 8/4 * 3
multiplica.

primero hace la operacin de dividir y despus ese resultado se

FUNCIONES TRIGONOMETRICAS
cos (x)
sen (x)
sec (x)
csc (x)
Si utilizamos ngulos debemos tener cuidado con respecto a ellos, ya que esta
operacin nos arroja los resultados en radianes y en grados, ejemplo:
>> sind (90) (nos arrojarara valores en grados agregando la letra d)
ans= 1

>> sin (90) (no arrojara valores en radianes)


ans = 0.893996663600

Se agrega la letra a para la inversa de las funciones seno, coseno, tangente.


>> asind(1) (los valores arrojados en esta operacin )
ans = 90

NOTANCIN CIENTFICA
>> 1.84e07

1.84E07

Matlab reconoce nmeros hasta la notacin cientfica x 10 a la 308 (el nmero


ms grande) mayor de este nmero el programa arroja el valor de infinito,
ejemplo:
>> realmax
ans

FUNCIONES LOGARITMICAS
>> log(427)

este es el logaritmo natural

ans = 6.05678401322862

>>log10 (427) logaritmo base 10


ans = 2.630427875025024

CREAR VARIABLES
Las letras que se utilizaran para darle valores a las variables se podrn escribir
con maysculas y minsculas y los nombres de las variables pueden utilizar
hasta 63 caracteres
>> Z = 3
Z=
3

>>z = 4
Z=
4

>> c= Z+z
C=
7
Para guardar practicas o documentos de MATLAB tecleamos sabe sesion1
Para cargar practicas o documentos de MATLAB tecleamos load sesion1
Para borrar los variables se teclea clear.
Cuando se tiene un solo signo de = estamos hablando de una operacin de
igualacin y cuando existe dos signos de == estamos hablando de una
operacin de comparacin.

Crear columnas
Para especificar vectores vamos a utilizar [], ejemplo:
>>columna=[1 5 7]
columna=
1 5 7

>>ejemplo=[1,5,7]
ejemplo=
1

5 7

>>columna=[4
8]
Columa=
4
8

Crear Matrices
>>teco=[3 -5 7; 2 4 8]
teco=

3 5 7
2 4 8

>>teco=[3,-5,7
2,4,8]
teco=

3 5 7
2 4 8
Crear graficas
Y=sen(x), ejemplo:
>>x=[0 1 2 3 4 5 6 7 8 9 10]
x=
1

1 2 3 4 5 6 7 8 9 10

>>y=sen(x)
y=
Columns 1 through 7
0

0.8415

0.9093

0.1411 -0.7568 -0.9589 -0.2794

Columns 8 through 11
0.6570

0.9894

0.4121 -0.5440

Ejemplo 2:
>>x=0:0.1:10
x=
Columns 1 through 7
0

0.1000

0.2000

0.3000

0.4000

0.5000

0.6000

Columns 8 through 14
0.7000

0.8000

0.9000

1.0000

1.1000

1.2000

1.3000

1.7000

1.8000

1.9000

2.0000

2.4000

2.5000

2.6000

2.7000

Columns 15 through 21
1.4000

1.5000

1.6000

Columns 22 through 28
2.1000

2.2000

2.3000

Columns 29 through 35

2.8000

2.9000

3.0000

3.1000

3.2000

3.3000

3.4000

3.8000

3.9000

4.0000

4.1000

Columns 36 through 42
3.5000

3.6000

3.7000

Columns 43 through 49
4.2000

4.3000

4.4000

4.5000

4.6000

4.7000

4.8000

5.2000

5.3000

5.4000

5.5000

Columns 50 through 56
4.9000

5.0000

5.1000

Columns 57 through 63
5.6000

5.7000

5.8000

5.9000

6.0000

6.1000

6.2000

Columns 64 through 70
6.3000

6.4000

6.5000

6.6000

6.7000

6.8000

6.9000

7.3000

7.4000

7.5000

7.6000

8.0000

8.1000

8.2000

8.3000

8.7000

8.8000

8.9000

9.0000

9.4000

9.5000

9.6000

9.7000

Columns 71 through 77
7.0000

7.1000

7.2000

Columns 78 through 84
7.7000

7.8000

7.9000

Columns 85 through 91
8.4000

8.5000

8.6000

Columns 92 through 98
9.1000

9.2000

9.3000

Columns 99 through 101


9.8000

9.9000 10.0000

>> y=sin(x)
y=
Columns 1 through 7

0.0998

0.1987

0.2955

0.3894

0.4794

0.5646

Columns 8 through 14
0.6442

0.7174

0.7833

0.8415

0.8912

0.9320

0.9636

Columns 15 through 21
0.9854

0.9975

0.9996

0.9917

0.9738

0.9463

0.9093

Columns 22 through 28
0.8632

0.8085

0.7457

0.6755

0.5985

0.5155

0.4274

Columns 29 through 35
0.3350

0.2392

0.1411

0.0416 -0.0584 -0.1577 -0.2555

Columns 36 through 42
-0.3508 -0.4425 -0.5298 -0.6119 -0.6878 -0.7568 -0.8183
Columns 43 through 49
-0.8716 -0.9162 -0.9516 -0.9775 -0.9937 -0.9999 -0.9962
Columns 50 through 56
-0.9825 -0.9589 -0.9258 -0.8835 -0.8323 -0.7728 -0.7055
Columns 57 through 63
-0.6313 -0.5507 -0.4646 -0.3739 -0.2794 -0.1822 -0.0831

Columns 64 through 70

0.0168

0.1165

0.2151

0.3115

0.4048

0.4941

0.5784

0.8504

0.8987

0.9380

0.9679

Columns 71 through 77

0.6570

0.7290

0.7937

Columns 78 through 84

0.9882

0.9985

0.9989

0.9894

0.9699

0.9407

0.9022

0.6630

0.5849

0.5010

0.4121

Columns 85 through 91

0.8546

0.7985

0.7344

Columns 92 through 98

0.3191

0.2229

0.1245

Columns 99 through 101

-0.3665 -0.4575 -0.5440


>> plot(x,y)

0.0248 -0.0752 -0.1743 -0.2718

Para no crear eco (repetir los datos) aplico ; al dar valor a las variables ejemplo:
>>G9;

Telcemas el comando grid on y obtenemos:


>>gid on

>> xlabel('tiempo')
>> ylabel('velocidad')
>> title('mi primera grafica')
>> grid on

26/Enero/2016
Tecleamos el comando clc para borrar la pantalla de todo lo que
hemos hecho en MATLAB
El comando who sirve nos indica cuantas variables tenemos,
ejemplo:
>> who
Your variables are:
x y z
El comando whos nos indica las propiedades de las variables.
>> whos
Name

Size

Bytes Class

1x101

808 double

1x101

808 double

Attributes

1x101

808 double

hold on es un comando para agregar otra curva en la grafica

Para cambiar las curvas de colores se le escribe la primera letra del


nombre del color en ingles, ejemplo:
>> plot(x,z,'r')

r rojo

>> plot(x,z,'g') g verde

>> plot(x,z,'k')

k negro

>> plot(x,z,'p')
>> plot(x,z,'--')
>> plot(x,z,':')

Matrices
>> A=[1 2 3; 4 5 6; 7 8 9]
A=
1

>> B=A*A
B=
30

36

42

66

81

96

102 126 150


>> C=A^2
C=
30

36

42

66

81

96

102 126 150


>> B==C
ans =
1

>> E=A.^2
E=
1
16
49

9
25

64

36
81

Comando o funcin parecido al plot solo que este comando se ve el


movimiento de la curva:
*

Nota: mientras las decimales del intervalo en el que se va a desplazar la curva


es mayor el movimiento de la curva o grafica se aprecia mejor

GRAFICAS TRIDIMENSIONALES
Funciones con dos variables
>> x=[1 2 3]
x=
1

>> y=[6 7]
y=
6

El comando meshgrid Recibe dos argumentos de entrada


>> [X Y]=meshgrid(x,y)
X=
1

*Nota.- se crean matrices

Y=
6

>> Z=X.*Y
Z=
6

12

18

14

21

>> mesh(X,Y,Z)
>> xlabel('eje x')
>> ylabel(eje y')

Ejemplo:
>> x=-2:0.1:2;
>> y=x;

>> [X Y]=meshgrid(x,y);
>> Z=X.*exp(-X.^2-Y.^2);
>> mesh(X,Y,Z)

>> xlabel('eje x')


>> ylabel('eje y')
>> zlabel('eje z')

*Nota.- la funcin de una variable es una curva y la funcin de dos variables


es una superficie
COMANDO ALTERNATIVO AL mesh es el surf ejemplo:
>> surf(X,Y,Z)

>> shading interp

>> shading flat

Creando mapa de contorno con el comando contour


>> contour(X,Y,Z)

>> surfc(X,Y,Z)

Graficar curvas paramtricas en 3d


>> t=0:0.1:10;

>> x=sin(t);
>> y=cos(t);
>> plot(t,x)
>> plot(x,y)
>> axis square

>> comet(x,y)
Para graficar la curva en 3 dimensiones
>> z=t;
>> plot3(x,y,z)

Realizar vectores y su comportamiento ya que Matlab reconoce la


posicin de los nmeros como una regla o rejas de posiciones ejemplo:
1

a=
5

-6

-3

>> a(2)
ans =
-6
>> a(1:3)
ans =
5

-6

Se utiliza para accesar a cualquier posicin de una matriz creada


*Nota.- le primero las filas despus la columna

A=
1

-7

>> A(2,1)

Fila 2 columna 1

ans =
5

>> A(:,2)

Todas las filas columna 2

ans =
-7
6

>> A(2,1:2)

De la fila 2, y columa de 1 a 2

ans =
5

>> B=[2,-5,9,0,2;1,7,-4,2,7;3,8,-9,3,5]
B=
2

-5

-4

-9

>> B(:,4)
ans =
0
2
3

Todas las filas, de la columna en posicin 4

>> B(2,3:5)
posicin 3 a 5

De la fila 2, columna que va de la

ans =
-4

>> B(:,2:4)
4

Todas las filas, columnas de las 2 a la

ans =
-5

-4

-9

El comando diag() nos sirve para extraer la diagonal principal de la


matriz
>> diag(B(:,2:4))
ans =
-5
-4
3

>> C=B(:,2:4);
>> diag(B)
ans =
2
7
-9

>> D=B(:,1:3)
D=
2

-5

-4

-9

>> diag(D)
ans =

2
7
-9

Crear matriz con puros 1 con el comando ones y con puros 0 con el
comando zeros ,ejemplo:
>> ones(1,3)
ans =
1

>> ones(2,4)
ans =
1

>> zeros(2,3)
ans =
0

Crear una matriz identidad con el comando eye

>> eye(3)
ans =
1

Calcular la inversa de una matriz:


>> W=[1 9 5 8; -2 -4 7 9; -6 4 2 -5; 4 0 5 6]
W=
1

-2

-4

-6

-5

>> inversa_de_W=inv(W) W_inv=inv(W)


inversa_de_W =
-0.0362 -0.0994 -0.0179
0.0810 -0.0498
-0.0682 -0.0107
0.0810

0.1826

0.0179 -0.0184
0.1429

0.2260

0.0752 -0.1071 -0.1434

Multiplicando la matriz identidad W con la matriz inversa de W, para


comprobar, ejemplo:
>> W*inversa_de_W
ans =
1.0000 -0.0000
0

1.0000

0.0000

0.0000

0.0000

0.0000

-0.0000 -0.0000

1.0000

0.0000

-0.0000 -0.0000

0.0000

1.0000

>> F=A.*B
(2,5)(2,5).

Notacin para multiplicarlos elementos 1x1 de la matriz ejemplo

>> A*B
Multiplicacin matricial para matrices que tiene el mismo
numero de columnas y filas, ejemplo (2x3)(3x5)

EJEMPLO
>> G=[-7,8,5; 6,-2,3; 1,2,5]
G=
-7

-2

>> H=[-6 1 -3
8 -2 -3
1 0 9]
H=
-6

-3

-2

-3

>> J=G*inv(H)
J=
-17.1852 -12.5926 -9.3704
1.7778

1.8889

1.5556

-5.8519 -3.9259 -2.7037

>> K=G/H
K=
-17.1852 -12.5926 -9.3704
1.7778

1.8889

1.5556

-5.8519 -3.9259 -2.7037

Comando rand es un nmero seudo-aleatorio del 0 al 1


>> rand
ans =
0.8147
ans =
0.9058

>> rand
ans =
0.1270

>> rand(3,2)
ans =
0.9134

0.2785

0.6324

0.5469

0.0975

0.9575

Para que el comando rand nos d en valor entero debemos teclear


la letra i, ejemplo:
>> randi(40,3,4)
el primer argumento (40) el rango de la matriz y los otros
dos dgitos (3,4)son las dimensiones de la matriz 3 filas, 4 columnas
ans =

39
7
39

39
20
33

32

17

39

37

27

El comando help randi es para ayuda cuando se desconoce como


aplicar un comando
El comando size es para indicarnos las dimensiones de las matrices W
y B, ejemplo:
>> size(W)
ans =
4

>> size(B)
ans =
3

Para ver cuantos elementos existe en tu vector se utiliza las


siguientes comandos, ejemplo:
>> r=[3 6 9 0 5 7 8]
r=
3

>> length(r)
ans =
7
>> size(r)
ans =
1

>> max(r)
ans =
9

>> min(r)
ans =
0

Para ordenar los vectores de menor a mayor con el comano sort,


ejemplo:
>>r =
3

>> sort(r)
ans =
0

Para calcular el promedio de los vectores en este caso r2, ejemplo:


>> mean(r)
ans =
5.4286

Desviacin estndar de los vectores se puede calcular, ejemplo:


>> var(r)
ans =
9.6190

Para calcular la mediana de los vectores en este caso r, ejemplo:


>> median(r)
ans =
6

Para clacular la moda, ejemplo:


>> mode(r)
ans =
0
El comando dispersin scatter
>> peso=[73 72 90 80 75 90 70 60 62 64];
>> altura=[170 169 172 162 170 166 163 172 160 161];
>> scatter(peso,altura)

>> figure(2)

>> plot(peso,altura,'o')

Ajuste de Cruvas
1

Interpolacin:
Lineal se juntan todos los puntos
Spline se obtiene una curva suave

Regresin
Lineal
Polinominal.
No lineal
Multi-variable

Nivel de asociacin entre dos


comando cov ejemplo:

cantidades, lo aplicamos con el

>> cov(peso,altura)
ans =
102.0111 13.2778
13.2778 21.8333
El coeficiente d correlacin lo aplicamos con el comando corrcoef,
ejemplo:
>> corrcoef(peso,altura)
ans =
1.0000

0.2813

0.2813

1.0000

Traspuestas de una matriz


>> N=[3,2,7;5,4,3]
N=
3

>> N'
ans =
3

>> R=[4 9 7 6 5 8]
R=

>> R'
ans =
4
9
7
6
5
8

Para agregar comentarios en una matriz


>> N'%se esta calculando la transpuesta de N
ans =
3

Otra forma de crear matrices sin colocar todos los valores en las
columna y filas de la matriz solo que dar nmeros seudo-aleatorios,
ejemplo:
>> Q=randi(45,3,3)
Q=
37

43

29

24

40

27

16

25

10

>> det(Q)

Determinante de la matriz Q

ans =
-3.0790e+003

El comando string es una cadena de valores, ejemplo:


>> nombre='Mario'
nombre =
Mario

>> nombre='Leodegario';

Nota.- en esta parte se reescribio

>> nombre(1)
ans =
L
>> nombre(3)
ans =
o

>> nombre(1:3)
ans =
Leo

NMEROS COMPLEJOS O IMAGINARIOS


>> 3+2i
ans =
3.0000 + 2.0000i

>> 5-2j

ans =
5.0000 - 2.0000i

>> i*i
ans =
1

>> i*j
ans =
-1

>> i*i*i
ans =
0 - 1.0000i

>> a=4-2i
a=
4.0000 - 2.0000i

>> b=3+5i
b=
3.0000 + 5.0000i

>> a+b
ans =

7.0000 + 3.0000i

>> a-b
ans =
1.0000 - 7.0000i

>> a*b
ans =
22.0000 +14.0000i
>> a/b
ans =
0.0588 - 0.7647i
>> real(a)
ans =
4

>> imag(a)
ans =
-2
Norma euclidiana

Z =[ 3 2 4 ]

|Z|= 32 +22+ 4 2
>> norm(a)
ans =
4.4721

>> sqrt(real(a)^2+imag(a)^2)
ans =
4.4721

Angulo del nmero complejo con el comando angle:


>> angle(a)
radianes

*Nota.- Resultados en

ans =
-0.4636

Capturar datos de entrada con el comando imput, ejemplo:

>> Areacirculos
Escribe el radio:5
radio =
5
area_circulo =
78.5398

>> Areacirculos
Escribe el radio:2
radio =
2
area_circulo =
12.5664
Nota.- ctrl + C para abortar el script
Se utiliza el comando s para evitar poner comillas cuando utilizamos

nombre, ejemplo:
El comando disp para recibir un mensaje en la pantalla, ejemplo:

>> Nombrecompleto
Escribe tu nombre:Mario de Jess
Escribe tu apellido paterno: Peralta
Escribe tu apellido materno: Paz

Buenos Das
Mario de Jess Peralta Paz

Ejemplo 2

>> Nombrecompleto2
Escribe tu nombre:Mario de Jess
Escribe tu apellido paterno:Peralta
Escribe tu apellido materno:Paz
Buenos das, Mario de Jess Peralta Paz

Ejemplo 3

>> Nombrecompleto2
Escribe tu nombre:Mario de Jess
Escribe tu apellido paterno:Peralta
Escribe tu apellido materno:Paz

Buenos das, Mario de Jess Peralta Paz saludos

Comado clok para el reloj, ejemplo:


>> clock
ans =
1.0e+003 *
2.0160

0.0010

0.0280

0.0130

0.0040

0.0237

Comando date para fechas, ejemplo:


>> date
ans =
28-Jan-2016

Ejemplo 4

>> Areaconunidadesdemedida
Escribe el radio:6
radio =
6
Con un radio de 6 m, el area del circulo es 113.0973 m^2

Comando while para hacer ciclos mientras se complete la condicin,


Ejemplo:

>> Radioautonomo
Escribe el radio:5
radio =
5
Con un radio de 5 m, el area del circulo es 78.5398 m^2
Quieres ingresar otro dato? Afirmativo: si, Negativo: cualquier otra tecla si
res =
si
Escribe el radio:6
radio =
6
Con un radio de 6 m, el area del circulo es 113.0973 m^2
Quieres ingresar otro dato? Afirmativo: si, Negativo: cualquier otra tecla NO
res =
NO
GRACIAS POR PARTICIPA

Ejemplo 2:

>> Radioautonomo2
Escribe el radio:6
radio =
6
Con un radio de 6 m, el area del circulo es 113.0973 m^2
Quieres ingresar otro dato?
Afirmativo: si, Negativo: cualquier otra tecla si
res =
si
Escribe el radio:9
radio =
9
Con un radio de 9 m, el area del circulo es 254.469 m^2
Quieres ingresar otro dato?
Afirmativo: si, Negativo: cualquier otra tecla no
res =
no
GRACIAS POR PARTICIPAR

El comando exist sirve para ver si existe algn nombre con algn
valor depredeterminado, ejemplo:
>> exist circ
ans =
0

El comando slipsis () indica al programa que todo el argumento va


sobre la misma lnea o renglor cuando esta sea muy larga, para

facilitar la visualizacin, ejemplo:


>> Circunferencias
Ingresa el radio: 4
Con un radio de 4 m, la circunferencia es 25.1327 m
>> Circunferencias
Ingresa el radio: 90
con un radio de 90 m, la circunferencia es 565.4867 m

Ejemplo:

>> Circunferenciasconvaloresmenorde0
Ingresa el radio: -8

DANGER!!!
Con un radio de -8 m, la circunferencia es -50.2655 m

Ejemplo:

>> Practicanueva2
Ingresa el radio: 90
Con un radio de 90 m, la circunferencia es 565.4867 m
>> Practicanueva2
Ingresa el radio: -90
ERROR, RADIO MENOR QUE 0
Ingresar un Nuevo Radio:

if

primera condicin

elseif

segunda condicin

elseif

tercera condicin

end

Ejemplo:

>> Temperatura2
Escriba la temperatura del agua: 29
EL AGUA EST TIBIA
>> Temperatura2
Escriba la temperatura del agua: 31
EL AGUA EST CALIENTE

Musica en MATLAB
>> load train

sonido de tren

>> sound(y,Fs)
>> whos
Name

Size

Fs

1x1

12880x1

Bytes Class

Attributes

8 double
103040 double

>> Fs
Fs =

Frecuencia de muestro por segundo

8192

Mostrar la grfica de la frecuencia de muestreo ejemplo:


>> whos

Name

Size

Fs

1x1

12880x1

Bytes Class

Attributes

8 double
103040 double

>> Fs
Fs =
8192

>> n=1:12880;
>> whos
Name

Size

Fs

1x1

1x12880

12880x1

Bytes Class

Attributes

8 double
103040 double
103040 double

>> Y=y';
>> whos
Name

Size

Bytes Class

Fs

1x1

1x12880

103040 double

1x12880

103040 double

12880x1

>> plot(n,Y)

8 double

103040 double

Attributes

Ejemplo 2:
>> load laughter
>> sound(y,Fs)
>> sound(y,Fs)
>> whos
Name

Size

Bytes Class

Fs

1x1

1x12880

103040 double

1x12880

103040 double

52634x1

>> n=1:52634;
>> Y=y';
>> plot(n,Y)

8 double

421072 double

Attributes