Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
INGENIERIA ELECTRONICA Y
Lab. de Matematicas.
TELECOMUNICACIONES
NRC:3265
Laboratorio de Matematicas
Programacion en Matlab
Autor: Docente:
Francisco Changotasi Ing. Nancy Betancourt
29 de diciembre de 2016
LATEX
Programacion en Matlab Francisco Changotasi
1. Ejercicios
Universidad de Las Fuerzas Armadas ESPE.
Lab. de Matematicas.
1 function [ suma , r e s t a , m u l t i p l i c a c i o n , d i v i s i o n ] = o p e r a c i o n e s ( x , y )
2 suma=x+y
3 r e s t a=xy
4 m u l t i p l i c a c i o n=xy
5 d i v i s i o n=x/y
6 end
Ejecucion
operaciones(50,3)
suma =
53
resta =
47
multiplicacion =
150
division =
16.6667
Lo que se hace en el programa es tomar 2 valores iniciales de entrada y definir
1
Programacion en Matlab Francisco Changotasi
Lab. de Matematicas.
Dada una matriz de orden nxm, extraer una matriz de orden 4 x 4.
Programa
1 function [ a , b , c ] = m a t r i z (M)
2 M=f i x (5 randn ( 6 , 6 ) ) %f i x para no t e n e r d e c i m a l e s
3 disp ( Cuarta f i l a ) %d i s p i m p r e s i o n e s en p a n t a l l a
4 a=M( 4 , : )
5
9 disp ( Matriz 4 x4 )
10 c =[M( 1 , 1 : 4 ) ;M( 2 , 1 : 4 ) ; M( 3 , 1 : 4 ) ;M( 4 , 1 : 4 ) ]
11 end
Ejecucion
>> matriz
M =
2 -2 3 7 2 4
9 1 0 7 5 -5
-11 17 3 3 3 -5
4 13 -1 -6 -1 -4
1 -6 0 3 1 -14
-6 15 7 8 -3 7
2
Programacion en Matlab Francisco Changotasi
Cuarta fila
Universidad de Las Fuerzas Armadas ESPE.
a =
4 13 -1 -6 -1 -4
Segunda columna
b =
-2
Lab. de Matematicas.
1
17
13
-6
15
Matriz 4x4
c =
2 -2 3 7
9 1 0 7
-11 17 3 3
4 13 -1 -6
Dada una matriz de orden nxn cualquiera, use los siguientes comandos:
sum, prod. Escriba al menos 2 ejemplos de uso.
Programa
1 function [ a , b ] = sumprod (M)
2 M=f i x (5 randn ( 4 , 4 ) ) %f i x para no t e n e r d e c i m a l e s
3
4 disp ( EJEMPLO 1 )
5 disp ( Suma de e l e m e n t o s de columnas 1234 )
6 a=sum(M)
7
11 disp ( EJEMPLO 2 )
3
Programacion en Matlab Francisco Changotasi
12 disp ( Suma de e l e m e n t o s f i l a 1 )
Universidad de Las Fuerzas Armadas ESPE.
13 a=sum(M( 1 , : ) )
14
15 disp ( Producto de e l e m e n t o s f i l a 2 )
16 b=prod (M( 2 , : ) )
17 end
Ejecucion
>> sumprod
Lab. de Matematicas.
M =
-1 11 -2 2
-1 1 -1 -6
10 5 2 0
-11 -8 -8 3
EJEMPLO 1
Suma de elementos de columnas 1-2-3-4
a =
-3 9 -9 -1
b =
EJEMPLO 2
Suma de elementos fila 1
a =
10
4
Programacion en Matlab Francisco Changotasi
Universidad de Las Fuerzas Armadas ESPE.
4 disp ( Media de l o s d a t o s de l a f i l a 1 )
Lab. de Matematicas.
5 a=mean(M( 1 , : ) )
6
7 disp ( D e s v i a c i o n e s t a n d a r d a t o s columna 1 )
8 b=std (M( : , 1 ) )
9
10 disp ( Varianza d a t o s f i l a 4 )
11 c=var (M( 4 , : ) )
12 end
Ejecucion
>> estad
M =
4 9 0 7
1 -3 -4 -4
-3 0 -2 3
-9 2 0 1
a =
b =
5.6199
5
Programacion en Matlab Francisco Changotasi
Universidad de Las Fuerzas Armadas ESPE.
c =
25.6667
3. Investigue para que sirven los siguientes comandos de Matlab. Que datos sirven
como entrada y cual es la salida o resultado que enva el comando.
mod()
devuelve el residuo de una division de dos enteros sus datos de entradas
Lab. de Matematicas.
son dos valores (a,b)
diag()
Devuelve una matriz diagonal cuadrada con los elementos de un vector v
de la diagonal principal.
real()
Devuelve la parte real de z , donde z es un numero complejo
imag()
Devuelve la parte imaginaria de un numero imaginario
round()
redondea un numero o cierto valor, sus datos de entrada son (a,b), donde
a es el numero a redondear y b el numero de digitos que deseamos tener
fix()
Redondea al numero entero mas cercano sus datos de entrada son (a),
donde a es un numero con n decimales
foor()
Redondea los decimales al menor entero mas cercano su dato de entrada
es un numero Z
ceil()
Redondea los decimales al mayor entero mas cercano su dato de entrada
es un numero Z
sign()
Signo del real x (1 si x>0, -1 si x<0) su dato de entrada es un numero Z
log()
Funcion Logaritmo neperiano, su dato de entrada es un numero Z positivo
6
Programacion en Matlab Francisco Changotasi
log10()
Universidad de Las Fuerzas Armadas ESPE.
Lab. de Matematicas.
entero)
inv()
Saca la inversa de una matriz su dato de entrada es M (matriz)
sin(), asin(),sinh(), cos(),acos(), cosh()
Funciones trigonometricas con su respectiva notacion (Funcion/Inver-
sa/Hiperbolica)
EJECUCI\ON DE COMANDOS
-----------------------------------
>> mod(10,3)
ans =
1
-----------------------------------
>> v = [3 5 7 9 11]
v =
3 5 7 9 11
>> diag(v)
ans =
3 0 0 0 0
0 5 0 0 0
0 0 7 0 0
0 0 0 9 0
7
Programacion en Matlab Francisco Changotasi
0 0 0 0 11
Universidad de Las Fuerzas Armadas ESPE.
-----------------------------------
>> real(14-2*i)
ans =
14
-----------------------------------
>> imag(14-2*i)
ans =
Lab. de Matematicas.
-2
-----------------------------------
>> round(pi,2)
ans =
3.1400
-----------------------------------
fix(pi)
ans =
3
-----------------------------------
>> floor(313.65235)
ans =
313
-----------------------------------
>> ceil(313.65235)
ans =
314
-----------------------------------
>> sign(-123)
8
Programacion en Matlab Francisco Changotasi
ans =
Universidad de Las Fuerzas Armadas ESPE.
-1
>> sign(321)
ans =
1
-----------------------------------
>> log(1)
Lab. de Matematicas.
ans =
0
-----------------------------------
log10(1000)
ans =
3
-----------------------------------
>> exp(log(1))
ans =
1
-----------------------------------
>> linspace(1,10)
ans =
Columns 1 through 12
Columns 13 through 24
9
Programacion en Matlab Francisco Changotasi
Columns 25 through 36
Columns 37 through 48
Lab. de Matematicas.
4.2727 4.3636 4.4545 4.5455 4.6364 4.7273
Columns 49 through 60
Columns 61 through 72
Columns 73 through 84
Columns 85 through 96
10
Programacion en Matlab Francisco Changotasi
-----------------------------------
>> x=magic(3)
x =
8 1 6
3 5 7
Lab. de Matematicas.
4 9 2
-----------------------------------
Tomando como dato la matriz anterior x
inv(x)
ans =
z =
>> sin(z)
ans =
0.8415
>> asin(z)
ans =
1.5708
11
Programacion en Matlab Francisco Changotasi
Universidad de Las Fuerzas Armadas ESPE.
>> sinh(z)
ans =
1.1752
>> cos(z)
ans =
Lab. de Matematicas.
0.5403
>> acos(z)
ans =
>> cosh(z)
ans =
1.5431
12
Programacion en Matlab Francisco Changotasi
9
Universidad de Las Fuerzas Armadas ESPE.
10
11 disp ( LITERAL 5 )
12 disp ( Agregar f i l a a l p r i n c i p i o de l a m a t r i z )
13 R e s u l t a t =[ c ;m]
14 disp ( Agregar f i l a a l f i n a l de l a m a t r i z )
15 R e s u l t a t =[m; c ]
16 end
Ejecucion
Lab. de Matematicas.
>> agregar
m =
1 2 3
4 5 6
7 8 9
c =
9 9 9
LITERAL 4
Agregar columna en la posicion n-1
Resultat =
1 2 9 3
4 5 9 6
7 8 9 9
LITERAL 5
Agregar fila al principio de la matriz
Resultat =
9 9 9
1 2 3
4 5 6
13
Programacion en Matlab Francisco Changotasi
7 8 9
Universidad de Las Fuerzas Armadas ESPE.
Resultat =
1 2 3
4 5 6
7 8 9
9 9 9
Lab. de Matematicas.
6. Dadas 2 variables A y b; donde A es matriz y b vector, use el comando max(),
min().
>> A
A =
-10 3 5 7
1 2 3 4
9 8 7 6
1 1 1 150
>> b
b =
1 2 3 4
>> min(min(A))
ans =
-10
>> max(max(A))
ans =
150
14
Programacion en Matlab Francisco Changotasi
>> min(b)
Universidad de Las Fuerzas Armadas ESPE.
ans =
>> max(b)
ans =
Lab. de Matematicas.
>> min(min(A)*min(b))
ans =
-10
>> max(max(A)*min(b))
ans =
150
7. Investigue el o los comandos para ordenar los elementos de un vector (ascedente
y descendente).
el comando sort() no permite ordenar los elementos de un vector de forma
ascendente, y si a este le agregamos el argumento descend , ordenamos los
elementos de forma descendente
>> b
b =
1 2 3 4
>> sort(b)
ans =
1 2 3 4
15
Programacion en Matlab Francisco Changotasi
Universidad de Las Fuerzas Armadas ESPE.
>> sort(b,descend)
ans =
4 3 2 1
>>
8. Dada una matriz NxM, ordenar ascendentemente la primera columna de la
matriz.
Lab. de Matematicas.
9. Dada una matriz MxN, ordenar descendentemente la ultima fila de la matriz.
10. Dada una matriz NxN, ordenar la diagonal principal.
Programa
1 function [ a , y , z , e , d]= orden (M)
2 M=f i x (5 randn ( 4 , 5 ) ) %f i x para no t e n e r d e c i m a l e s
3 disp ( L i t e r a l 8o r d e n a r primera columna )
4 x=(M( : , 1 ) ) ; %separamos l a primera columna
5 y=sort ( x ) ; %ordenamos l a primera columna
6 z =[M( 1 , 2 : 5 ) ;M( 2 , 2 : 5 ) ; M( 3 , 2 : 5 ) ; M( 4 , 2 : 5 ) ] ; %M s i n c1
7 R e s u l t a t =[y z ] % creamos nueva m a t r i z
8
10 disp ( L i t e r a l 9o r d e n a r desendemente u l t . f i l a )
11 d=(M( 4 , : ) ) ; %separamos l a u l t i m a f i l a
12 e=sort ( d ) ; %ordenamos l a u l t i m a f i l a
13 w=[M( 1 , 1 : 5 ) ;M( 2 , 1 : 5 ) ; M( 3 , 1 : 5 ) ] ; %M s i n l a u l t i m a f i l a
14 R e s u l t a t =[w; e ]
15
16
17 disp ( L i t e r a l 10 o r d e n a r d i a g o n a l p r i n c i p a l )
18 N=f i x (5 randn ( 4 , 4 ) )
19 r=diag (N ) ;
20 t=sort ( r ) ;
21 t 1=t ( 1 , 1 ) ;
22 t 2=t ( 2 , 1 ) ;
23 t 3=t ( 3 , 1 ) ;
24 t 4=t ( 4 , 1 ) ;
25
16
Programacion en Matlab Francisco Changotasi
26 z1 =[N ( 1 , 2 : 4 ) ] ;
Universidad de Las Fuerzas Armadas ESPE.
27 z2a =[N( 2 , 1 ) ] ;
28 z2b =[N ( 2 , 3 : 4 ) ] ;
29 z3a =[N ( 3 , 1 : 2 ) ] ;
30 z3b =[N( 3 , 4 ) ] ;
31 z4 =[N ( 4 , 1 : 3 ) ] ;
32
35 end
Lab. de Matematicas.
Ejecucion
>> orden
M =
2 -2 2 -1 -3
6 -1 -6 -1 -1
2 3 2 -4 0
1 8 0 -1 0
Resultat =
1 -2 2 -1 -3
2 -1 -6 -1 -1
2 3 2 -4 0
6 8 0 -1 0
Resultat =
2 -2 2 -1 -3
6 -1 -6 -1 -1
2 3 2 -4 0
-1 0 0 1 8
17
Programacion en Matlab Francisco Changotasi
Universidad de Las Fuerzas Armadas ESPE.
N =
-1 6 -1 -1
0 3 -8 -3
0 -1 -11 -3
2 2 -8 0
Lab. de Matematicas.
Resultat =
-11 6 -1 -1
0 -1 -8 -3
0 -1 0 -3
2 2 -8 3
>>
18