You are on page 1of 13

Universidad de las Fuerzas Armadas -ESPEDepartamento de Ciencias Exactas

ticas
Laboratorio de Matema
NRC: 1459
Martn Villegas Pico
22 de junio de 2015
Ejercicio 1
Programa MatLab
%v a r i a b l e s e n t e r a s
n=2
n2=100
%v a r i a b l e s f l o t a n t e s
f =0.45
f 2 =1.3
%S t r i n g s
s= h o l a
s 2= e s t a E s U n a S e n t e n c i a
%v e c t o r e s
v=[1 ,2 ,3 ,4 ,5]
v2 = [ 7 . 5 ; 3 ; 7 . 6 ; 5 ]
%m a t r i c e s
m= [ 1 , 2 , 3 , 4 ; 5 , 6 , 7 , 8 ; 9 , 4 , 0 , 1 ]
m2 = [ 0 . 1 , 0 . 3 , 4 5 ; 8 . 7 , 6 . 7 , 9 ]
Explicaci
on
En contraste con otros lenguajes de programacion como C, Matlab no permite especificar el tipo de
dato que contendr
a una variable. Por lo tanto, se deben asignar datos a las variables como sumo
cuidado.
En este programa, para el caso de las variables enteras y flotantes, asignamos n
umeros enteros y decimales respectivamente. Para asignar un dato de tipo String, el contenido de este debe colocarse entre
apostrofes.
Para definir un vector, los datos se deben colocar entre corchetes. Por tratarse de un conjunto de datos
ordenados en filas o columnas, usamos , para separar los datos de una fila, y ; para separar las filas.
En el programa: v es un vector fila y v2 es un vector columna.
Una matriz es un arreglo de vectores fila, entonces para generar un dato matricial; entre corchetes,
escribimos varios vectores fila separados entre si.
1

Ejecuci
on

>> e j e r c i c i o 1
n =
2

n2 =
100

f =
0.4500

f2 =
1.3000

s =
hola

s2 =
estaEsUnaSentencia

v =
1

2
6
4

3
7
0

4
8
1

v2 =
7.5000
3.0000
7.6000
5.0000

m=
1
5
9

m2 =
0.1000
8.7000

0.3000
6.7000

45.0000
9.0000

Ejercicio 2
Programa MatLab
%e j e r c i c i o 2
a =[1:10]
b=[1:3:10]
c =[10: 2:1]
Explicaci
on
Se crean vectores de numeros enteros desde a hasta b con paso m, asi:
v = [a : m : b]
v = [a, a + m, a + 2m, . . . , b]
Si el dato del paso m no esta incluido, entonces por defecto, m sera igual a 1; como se puede apreciar
en el vector a.
Ejecuci
on

>> e j e r c i c i o 2
a =
1

10

10

b =

c =
2

Ejercicio 3
Programa MatLab
A=[4 3 2 1 ; 2 2 2 2 ; 6 7 8 9 ]
e l e m e n t o=A( 3 , 4 )
columna=A( : , 4 )
subA=A ( [ 2 , 3 ] , [ 3 , 4 ] )
sumaV=sum( columna )
sumaM=sum(A)
OrdV=sort ( columna )
OrdM=sort (A)
3

10

Explicaci
on
Para seleccionar un elemento de una matriz y luego asignarlo a una variable usamos el comando
A(m, n). El cual nos devolver
a el valor del dato ubicado en la fila m y columna n de la matriz A.
El comando A(:,4) nos permite seleccionar todas las filas de la columna 4, es decir, cuando
escribimos como subndice : significa que todos las filas o colunmas seran seleccionadas.
El comando A([2,3],[3,4]) nos permite crear una submatriz a partir de matriz A. En este caso se
creara una submatriz con los elementos de las filas 2 y 3 y las columnas 3 y 4 de la matriz A.
El comando sum() devuelve la sumatoria de los elementos de una vector. En el caso de la matrices
se suman los elementos de los vectores columna y se disponen cada uno de estos resultados en
forma de un vector fila.
El comando sort() ordena los elementos de un vector o una matriz en forma ascendente.
Ejecuci
on
>> e j e r c i c i o 3
A =
1
5
1

2
6
1

3
7
1

4
8
1

11

13

elemento =
1

columna =
4
8
1

subA =
7
1

8
1

sumaV =
13

sumaM =
7

OrdV =
1
4
8

OrdM =
1
1
5

1
2
6

1
3
7

1
4
8

Ejercicio 34
Programa MatLab
%V a r i a b l e s e n t e r a s
a1=12
a2=15
%V a r i a b l e s f l o t a n t e s
f 1 =15.25
f 2 =30.22
%S t r i n g s
s 1= mundo
s 2= matlab
%V e c t o r e s
v1 =[1 2 3 4 5 ]
v2 =[12 16 14 2 0 ]
%M a t r i c e s
m1=[12 14 1 2 ; 1 2 12 1 4 ; 4 4 55 6 6 ]
m2=[22 55 66 7 7 ; 55 55 44 4 4 ; 12 13 13 1 4 ]
%V e c t o r e s e j e r c i c i o 2
a =[1:10]
b=[1:3:10]
c =[10: 2:1]
%suma
s 1=a1+a2 ;
s 2=f 1+f 2 ;
s 3=a1+f 2 ;
%r e s t a
r 1=a1a2
r 2=f1 f 2
r 3=a2f 1
%m u l t i p l i c a c i o n
mult1=a1 a2
mult2=f 1 f 2
mult3=a1 f 1
%d i v i s i o n
d i v 1=a1 / a2
d i v 2=f 1 / f 2
5

d i v 3=a2 / f 2
%t r a n s p u e s t a
t r a n s p=m1 ;
% .
prodm=m1. m2
%. /
divm=m1. /m2
Explicaci
on

La suma, resta y multiplicaci


on se realiza normalmente entre datos enteros y flotantes. En la
matrices y vectores, estos deben cumplir las respectivas reglas para realizar estas operaciones.
El comando A0 nos permite hallar la transpuesta de la matriz A.
Los operadores .* y ./, respectivamente, multiplican y dividen los elementos de la misma posici
on
de dos matrices o vectores, siempre y cuando estos tengan la misma dimension.
Ejecuci
on

>> e j e r c i c i o 4
n =
2

n2 =
100

f =
0.4500

f2 =
1.3000

s =
hola

s2 =
estaEsUnaSentencia

v =
1

2
6
4

3
7
0

v2 =
7.5000
3.0000
7.6000
5.0000

m=
1
5
9

m2 =
0.1000
8.7000
1.0000

0.3000
6.7000
3.0000

45.0000
9.0000
4.0000

a =
1

10

10

b =

c =
2

rest1 =
98

rest2 =
0.8500

rest3 =

10

1.5500

mult1 =
200

mult2 =
0.5850

mult3 =
0.9000

div1 =
0.0200

div2 =
0.3462

div3 =
4.4444

prodm =
0.1000
43.5000
9.0000

0.6000
40.2000
12.0000

135.0000
63.0000
0

6.6667
0.8955
1.3333

0.0667
0.7778
0

divm =
10.0000
0.5747
9.0000
Ejercicio 5
Programa MatLab
M=magic ( 5 )
I=eye ( 5 )
Z=zeros ( 3 , 5 )
O=o n e s ( 4 , 5 )
8

B=rand ( 7 , 2 )
[m, n]= s i z e (B)
Explicaci
on
El comando magic(n) genera una matriz de dimension n n, en la cual la sumatoria de los
elementos de sus filas es igual a la sumatoria de los elementos de sus columnas.
El comando eye(n) genera a la matriz identidad de dimension n n.
El comando zeros(m, n) genera una matriz de dimension m n donde todos sus elementos son 0.
El comando ones(m, n) genera una matriz de dimension m n donde todos sus elementos son 1.
El comando rand(m, n) genera una matriz de n
umeros aleatorios de dimension m n.
El comando size(A) retorna en forma de vector, las dimensiones de la matriz A.
Ejecuci
on

>> e j e r c i c i o 5
M=
17
23
4
10
11

24
5
6
12
18

1
7
13
19
25

8
14
20
21
2

15
16
22
3
9

1
0
0
0
0

0
1
0
0
0

0
0
1
0
0

0
0
0
1
0

0
0
0
0
1

0
0
0

0
0
0

0
0
0

0
0
0

0
0
0

1
1
1
1

1
1
1
1

1
1
1
1

1
1
1
1

1
1
1
1

I =

Z =

O =

B =
0.8003
0.1419
0.4218
0.9157
0.7922
0.9595
0.6557

0.0357
0.8491
0.9340
0.6787
0.7577
0.7431
0.3922

m=
7

n =
2
Ejercicio 6
Programa MatLab
function B=e j e r c i c i o 6 (A, i )
m=s i z e (A ) ;
i f i >1 && i<=m
aux=A( i 1 , : ) ;
A( i 1 ,:)=A( i , : ) ;
A( i , : ) = aux ;
B=A;
else
disp ( No e s p o s i b l e t r a b a j a r con e l dato i ) ;
end
Explicaci
on

Definimos una funci


on que recibira como datos una matriz y el numero de fila i y retornara la
matriz con las filas intercambiadas.
Usamos el comando size(A) para determinar el numero de filas de la matriz.
Verificamos si i sea mayor que 1 y que sea menor o igual al numero total de filas. Pues si i no
cumple esto, se generara un subindice menor que 1 o mayor al numero de filas disponibles.
Si i cumple con los requisitos realizamos el intercambio: almacenamos la fila i 1 en una varible
auxiliar, copiamos el contenido de la fila i 1 en la fila i y finalmente asignamos el valor de la
variable auxiliar en la fila i.
Ejecuci
on

10

>> A= [ 1 , 2 ; 6 , 7 ; 0 , 1 ]
A =
1
6
0

2
7
1

>> e j e r c i c i o 6 (A, 2 )
ans =
6
1
0

7
2
1

Ejercicio 7
Programa MatLab
function B=e j e r c i c i o 7 (A, i )
m=s i z e (A ) ;
i f i >=1 && i<=m
A( i , : ) = zeros ( ) ;
B=A;
else
disp ( No e s p o s i b l e t r a b a j a r con e l dato i ) ;
end
Explicaci
on
Definimos una funci
on que recibira como datos una matriz y el numero de fila i y retornara la
matriz con los elementos de dicha fila iguales 0.
Usamos el comando size(A) para determinar el numero de filas de la matriz.
Verificamos si i no es menor que 1 o mayor que el numero de fila existentes
Si i cumple con los requisitos, a traves del comando zeros() creamos un vector de elementos nulos
y lo asginamos a la fila i.
Ejecuci
on

>> A= [ 1 , 2 ; 6 , 7 ; 0 , 1 ]
A =
1
6
0

2
7
1

>> e j e r c i c i o 7 (A, 2 )
11

ans =
1
0
0

2
0
1

>>
Ejercicio 8
Programa MatLab
function B=e j e r c i c i o 8 (A)
B=sum(A ) ;
end
Explicaci
on

Definimos una funci


on que recibira como dato una matriz y retornara un vector con la sumatoria
de los elementos de cada una de las filas de la matriz.
El comando sum() realiza la sumatoria de los elementos de las columnas de una matriz. Para
poder obtener la sumatoria de los elementos de las filas a traves del mismo comando, transponemos
la matriz A.
Transponemos el vector resultante para que este se perciba como la sumatoria de los elementos
de las filas, es decir, en forma de un vector columna.
Ejecuci
on

>> A= [ 1 , 2 ; 6 , 7 ; 0 , 1 ]
A =
1
6
0

2
7
1

>> e j e r c i c i o 8 (A)
ans =
3
13
1
Ejercicio 9
Programa MatLab

12

function sDiag=e j e r c i c i o 9 (A)


[m n]= s i z e (A ) ;
i f m>n
A=[A, zeros (m, 1 ) ]
e l s e i f n>m
A( : , n ) = [ ]
end
suDiag=sum( diag (A ) ) ;
Explicaci
on
Definimos una funci
on que recibira como dato una matriz y retornara la suma de los elementos
de la diagonal de la matriz.
Determinamos la dimension de la matriz con el comando size().
Si el numero de filas es mayor al numero de columnas agregamos una columna de ceros a la matriz
con el comando A = [A, zeros(m, 1)], el cual une la matriz A con un vector columna de ceros, de
m filas.
Si el numero de columnas es mayor al numero de filas, eliminamos la ultima columna con el
comando A(:, n) = []; el cual asigna un conjunto vaco a dicha columna.
Finalmente, si el numero de filas es igual al numero de columnas, extraemos los elementos de la
diagonal como un vector a traves del comando diag() y sumamos los elementos de este con el
comando sum()
Ejecuci
on

>> A= [ 1 , 2 , 6 ; 7 , 0 , 1 ]
A =
1
7

2
0

6
1

>> e j e r c i c i o 9 (A)
A =
1
7

2
0

ans =
1

13

You might also like