Sunteți pe pagina 1din 19

Universidad de Las Fuerzas Armadas ESPE.

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.

Programe las funciones (no scripts) que sean necesarias.


1. Crear una funcion variables, que tome como dato de entrada dos variables y
que imprima en pantalla la suma, la resta, la multiplicacion y la division entre
las variables. Ejecute el programa usando variables simples(enteros, flotan-
tes), vectores y matrices. NO necesita hacer validaciones, ejecute con variables
ideales
Programa

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

los valores de salida en este caso (suma,resta multiplicacion y division) en la


Universidad de Las Fuerzas Armadas ESPE.

ventana de comandos llamar simplemente a la funcion definiendo los valores


que deseemos utilzar, puede ser enteros,flotantes, matricez,arreglos, etc
2. Manipulacion de matrices
Investigue como funciona el comando mod(). La funcion modcalcula
directamente el residuo de una operacion de division.
Crear una matriz de orden nxm, extraer la cuarta fila de la matriz.
Crear una matriz de orden nxm, extraer la segunda columna de la matriz.

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

6 disp ( Segunda columna )


7 b=M( : , 2 )
8

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

8 disp ( Producto de e l e m e n t o s de columnas 1234 )


9 b=prod (M)
10

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

Producto de elementos de columnas 1-2-3-4

b =

-110 -440 -32 0

EJEMPLO 2
Suma de elementos fila 1

a =

10

Producto de elementos fila 2


b =
-6

4
Programacion en Matlab Francisco Changotasi
Universidad de Las Fuerzas Armadas ESPE.

Crear una funcion que permita calcular, la media, la varianza y la des-


viacion estandar de una serie de datos que estan almacenados en una
matriz.
Programa
1 function [ a , b , c ] = e s t a d (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 ( 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

Media de los datos de la fila 1

a =

Desviacion estandar datos columna 1

b =

5.6199

5
Programacion en Matlab Francisco Changotasi
Universidad de Las Fuerzas Armadas ESPE.

Varianza datos fila 4

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.

Funcion Logaritmo decimal, su dato de entrada es un numero Z positivo


exp()
Funcion exponencial de base e, su dato de entrada es un numero Z
linspace()
Crea un vector fila de 100 posiciones en un intervalo definido(x1,x2)
magic()
Crea una matriz n x n construida con enteros (del 1 a n2 ) con sumas igua-
les en renglones, columnas y diagonales su dato de entrada es Z (numero

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

1.0000 1.0909 1.1818 1.2727 1.3636 1.4545

1.5455 1.6364 1.7273 1.8182 1.9091 2.0000

Columns 13 through 24

9
Programacion en Matlab Francisco Changotasi

2.0909 2.1818 2.2727 2.3636 2.4545 2.5455


Universidad de Las Fuerzas Armadas ESPE.

2.6364 2.7273 2.8182 2.9091 3.0000 3.0909

Columns 25 through 36

3.1818 3.2727 3.3636 3.4545 3.5455 3.6364

3.7273 3.8182 3.9091 4.0000 4.0909 4.1818

Columns 37 through 48

Lab. de Matematicas.
4.2727 4.3636 4.4545 4.5455 4.6364 4.7273

4.8182 4.9091 5.0000 5.0909 5.1818 5.2727

Columns 49 through 60

5.3636 5.4545 5.5455 5.6364 5.7273 5.8182

5.9091 6.0000 6.0909 6.1818 6.2727 6.3636

Columns 61 through 72

6.4545 6.5455 6.6364 6.7273 6.8182 6.9091

7.0000 7.0909 7.1818 7.2727 7.3636 7.4545

Columns 73 through 84

7.5455 7.6364 7.7273 7.8182 7.9091 8.0000

8.0909 8.1818 8.2727 8.3636 8.4545 8.5455

Columns 85 through 96

8.6364 8.7273 8.8182 8.9091 9.0000 9.0909

9.1818 9.2727 9.3636 9.4545 9.5455 9.6364

10
Programacion en Matlab Francisco Changotasi

Columns 97 through 100


Universidad de Las Fuerzas Armadas ESPE.

9.7273 9.8182 9.9091 10.0000

-----------------------------------
>> 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 =

0.1472 -0.1444 0.0639


-0.0611 0.0222 0.1056
-0.0194 0.1889 -0.1028
-----------------------------------
>> z=1

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

Pruebe los comandos y pegue en su documento la corrida tal como se ex-


plico anteriormente.
4. Dada una matriz NxN agregar una columna en la posicion n-1.
5. Dada una matriz NxN agregar una fila al principio y al final de la matriz.
Programa
1 function [ a , b , c ,m] = a g r e g a r (m)
2 m=[1 2 3 ; 4 5 6 ; 7 8 9 ]
3 c =[9 9 9 ]
4 disp ( LITERAL 4 )
5 disp ( Agregar columna en l a p o s i c i o n n1 )
6 a=[m( 1 , 1 : 2 ) ;m( 2 , 1 : 2 ) ;m( 3 , 1 : 2 ) ] ;
7 b=[m( 1 , 3 ) ;m( 2 , 3 ) ;m( 3 , 3 ) ] ;
8 R e s u l t a t =[a c b ]

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.

Agregar fila al final de la matriz

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

33 R e s u l t a t =[ t 1 z1 ; z2a t 2 z2b ; z3a t 3 z3b ; z4 t 4 ]


34

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

Literal 8-ordenar primera columna

Resultat =

1 -2 2 -1 -3
2 -1 -6 -1 -1
2 3 2 -4 0
6 8 0 -1 0

Literal 9-ordenar desendemente ult. fila

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.

Literal 10-ordenar diagonal principal

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

S-ar putea să vă placă și