You are on page 1of 6

EL ENTORNO MATLAB MG. SC. ING.

RAFAEL VALENCIA GOYZUETA

MATRICES Y DETERMINANTES CON MATLAB

16 3 2 13 >> A=[16 3 2 13; 5 10 11 8; 9 6 7 12; 4 15 14 1]


5 10 11 8 A=
Para la matriz A= 16 3 2 13
9 6 7 12
5 10 11 8
4 15 14 1 9 6 7 12
Definir la matriz y obtener: 4 15 14 1
>> A(end)
El elemento a44 ans =
1
>> A(end,end)
El elemento a44 ans =
1
>> A(2,end)
El elemento a24 ans =
8
>> A(end,2)
El elemento a42 ans =
15
>> A(end-3:end) >> A(end-5:end)
Submatriz formada Submatriz formada por
por los ltimos 4 ans = los ltimos 6 ans =
elementos 13 8 12 1 elementos 7 14 13 8 12 1
>> A( [1 2] ,:) >> A(:,[1 2])

Submatriz formada ans = Submatriz formada por ans =


por las dos primeras 16 3 2 13 las dos primeras 16 3
filas 5 10 11 8 columnas 5 10
9 6
4 15
>> A(end-2:end, end-1:end) Submatriz formada por >> C=A([1 3],[3 4])
Submatriz formada
los elementos que C =
por los elementos de ans =
ocupan las posiciones
las ultimas tres filas 2 13
11 8 donde se interceptan
y ultimas dos 7 12
7 12 las filas 1 y 3 y las
columnas
14 1 columnas 3 y 4
>> C=[A;[1 3 5 7]] >> A(3 , :)=[]
Aadirle filas y
columnas sin mas C = A=
Eliminar la tercera fila
que especificar el 16 3 2 13 16 3 2 13
de la matriz
vector con los 5 10 11 8 5 10 11 8
elementos que se 9 6 7 12 4 15 14 1
quiere aadir 4 15 14 1
1 3 5 7
Desde la versin 5 de Matlab se puede usar end para indicar el ltimo elemento de una matriz, respecto de
una dimensin dada.

1
EL ENTORNO MATLAB MG. SC. ING. RAFAEL VALENCIA GOYZUETA

Para el vector: V 0.1 0.4 0.3 -0.3 -0.9 0.4 0.1 -0.5 -0.1 -0.3 0.1 0.5 obtener un vector
con amplitud mayor a 0.3 y discutir
>> Av= [0.1 0.4 0.3 -0.3 -0.9 0.4 0.1 -0.5 -0.1 -0.3 0.1 0.5]
Av =
0.1000 0.4000 0.3000 -0.3000 -0.9000 0.4000 0.1000 -0.5000 -0.1000 -0.3000 0.1000 0.5000
>> Av>0.3
ans = Vector de ceros y unos que muestra donde la
condicin es verdadera.
0 1 0 0 0 1 0 0 0 0 0 1
>> Av(Av>0.3)
Para obtener los elementos del vector que satisfacen la
ans = condicin:
0.4000 0.4000 0.5000
>> An= 1:length(Av);
>> An(Av>0.3)
Para obtener un vector con los ndices de las muestras
ans = que satisfacen la condicin v > 0.3
2 6 12
>> A=find(Av>0.3)
Para obtener un vector con los ndices de las muestras
A= que satisfacen la condicin, utilizando la funcin find
2 6 12
Ggg

1 2 3 4 1
Para las matrices: A B : : 2
5 6 7 8 2
>> A=[1 2 3 4;5 6 7 8] >> B=[pi:0.5:2*pi]
A= B=
1 2 3 4 3.1416 3.6416 4.1416 4.6416 5.1416 5.6416 6.1416
5 6 7 8
>> size(A)
Devuelve un vector fila cuyo primer elemento es es el numero de filas y
ans =
cuyo Segundo elemento es el numero de columnas
2 4
>> [filas,columnas]=size(A)
filas =
Devuelve el numero de filas en la primera variable y el nmero de
2
columnas en la segunda variable
columnas =
4
>> size(B)
ans = Muestra que es un vector fila, un afila y siete columnas
1 7
>> length(A)
ans = Devuelve el numero de filas o columnas cualquiera que sea el mayor
4
>> length(B)
ans = Devuelve el tamao del vector siete columnas
7
>> sum(A)
ans =
6 8 10 12 Devuelve la suma todas las columnas de A

2
EL ENTORNO MATLAB MG. SC. ING. RAFAEL VALENCIA GOYZUETA

B I 43
A partir de B una matriz randomica de 4x3 construir la matriz A
I 43 143
La matriz randomica La matriz pedida
>> B=rand(4,3) >> A=[B eye(size(B)); eye(size(B)) ones(size(B))]
B= A=
0.9218 0.9355 0.0579 0.9218 0.9355 0.0579 1.0000 0 0
0.7382 0.9169 0.3529 0.7382 0.9169 0.3529 0 1.0000 0
0.1763 0.4103 0.8132 0.1763 0.4103 0.8132 0 0 1.0000
0.4057 0.8936 0.0099 0.4057 0.8936 0.0099 0 0 0
1.0000 0 0 1.0000 1.0000 1.0000
0 1.0000 0 1.0000 1.0000 1.0000
0 0 1.0000 1.0000 1.0000 1.0000
0 0 0 1.0000 1.0000 1.0000

Con una sola instruccin crear cada una de las siguientes matrices y reemplazar las filas 2, 4, 6, 7
de B por filas 5, 6, 7, 8 de A.
1 2 8

A 2 3 9 y B I8 (matriz identidad)


8 9 15
>> A=[(1:8)',(2:9)',(3:10)',(4:11)',(5:12)',(6:13)',(7:14)',(8:15)']
A=
1 2 3 4 5 6 7 8
2 3 4 5 6 7 8 9
Generamos A con una sola lnea de 3 4 5 6 7 8 9 10
comandos 4 5 6 7 8 9 10 11
5 6 7 8 9 10 11 12
6 7 8 9 10 11 12 13
7 8 9 10 11 12 13 14
8 9 10 11 12 13 14 15
>> B=eye(8)
B=
1 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0
Generamos B con una sola lnea de 0 0 1 0 0 0 0 0
comandos 0 0 0 1 0 0 0 0
0 0 0 0 1 0 0 0
0 0 0 0 0 1 0 0
0 0 0 0 0 0 1 0
0 0 0 0 0 0 0 1
>> B([2 4 6 7],:)=A(5:6:7:8,:)
B=
1 0 0 0 0 0 0 0
5 6 7 8 9 10 11 12
Reemplazamos las filas 2, 4, 6, 7 de B 0 0 1 0 0 0 0 0
por las filas 5, 6, 7, 8 de A. 6 7 8 9 10 11 12 13
0 0 0 0 1 0 0 0
7 8 9 10 11 12 13 14
8 9 10 11 12 13 14 15
0 0 0 0 0 0 0 1

3
EL ENTORNO MATLAB MG. SC. ING. RAFAEL VALENCIA GOYZUETA

Construir una matriz 5 5 cuyas columnas >> B=[1 2 3 4 5]'*ones(1,5)


estn dadas por el vector columna: B=
1 1 1 1 1
A 1 2 3 4 5
T 2 2 2 2 2
3 3 3 3 3
4 4 4 4 4
5 5 5 5 5
Dado el vector fila, x=rand(1,5) invertir el orden de sus elementos:
Definimos la matriz Matriz con sus elementos en orden inverso
>> x=rand(1,5) >> x=x(5:-1:1)
x= x=
Ggggg
0.9501 0.2311 0.6068 0.4860 0.8913 0.8913 0.4860 0.6068 0.2311 0.9501
Obsrvese que por haber utilizado parntesis en vez de corchetes los valores generados por el operador (:)
afectan a los ndices del vector y no al valor de sus elementos.
Dada una matriz magica de orden 3, A=magic(3), invertir el orden de las columnas:
Definimos la matriz Matriz con sus columnas invertidas
>> A=magic(3) >> A(:,3:-1:1)
A= ans =
8 1 6 6 1 8
3 5 7 7 5 3
4 9 2 2 9 4
Aunque hubiera sido ms fcil utilizar la funcin fliplr(A), que es especfica para ello. Finalmente, hay que
decir que A(:) representa un vector columna con las columnas de A una detrs de otra.
3 1 0 0 0 0 0
1 2 1 0 0 0 0
Con una sola lnea de instrucciones generar la 0 1 1 1 0 0 0
matriz y con una sola lnea de instruccin extraer A0 0 1 0 1 0 0
un vector columna cuyos elementos sean los
0 0 1 1 1
elementos de las 3 diagonales de A 0 0

0 0 0 0 1 2 1
0 0 0 0 0 1 3
Definimos la matriz Matriz con elementos de la diagonal
>> A=diag(-3:3)+diag(ones(6,1),1)+diag(-1*ones(6,1),-1) >>diag(A,1) >> diag(A) diag(A,-1)
ans =
A=
ans = ans =
-3 1 0 0 0 0 0 -3
-1 -2 1 0 0 0 0 1 -2 -1
0 -1 -1 1 0 0 0 1 -1 -1
0 0 -1 0 1 0 0 1 0 -1
0 0 0 -1 1 1 0 1 1 -1
0 0 0 0 -1 2 1 1 2 -1
0 0 0 0 0 -1 3 1 3 -1

4
EL ENTORNO MATLAB MG. SC. ING. RAFAEL VALENCIA GOYZUETA

1 5 4 6
2 5 AT
1 3 0
Ingresar la matriz A Crear la matriz C
1 6 8 4 0 A

4 8 7 1
Introducimos la matriz La transpuesta La matriz C
>> C=[A zeros(4);zeros(4) A_trans]
C=
>> A=[1 5 4 6;2 1 3 5;1 6 8 4;4 8 7 1] >> A_trans=A
1 5 4 6 0 0 0 0
A= A_trans = 2 1 3 5 0 0 0 0
1 5 4 6 1 2 1 4 1 6 8 4 0 0 0 0
2 1 3 5 5 1 6 8 4 8 7 1 0 0 0 0
1 6 8 4 4 3 8 7 0 0 0 0 1 2 1 4
0 0 0 0 5 1 6 8
4 8 7 1 6 5 4 1
0 0 0 0 4 3 8 7
0 0 0 0 6 5 4 1
sss
2 6 1 2 5 5
Dadas las matrices: A , B , C
3 9 3 4 5 3
A 0 0
Formar la matriz D 66 0 B 0 sin introducir elemento a elemento.
0 0 C
Con una sola instruccin borrar la ultima fila y la ultima columna de D
Extraer la primera sub matriz 4x4
Extraer la submatriz M 1,3, 6 2,5 de D
>> A=[2 6; 3 9] B=[1 2; 3 4] C=[-5 5; 5 3]
A= B= C=
Generamos las matrices
2 6 1 2 -5 5
3 9 3 4 5 3
OBSERVACION COMANDO RESPUESTA
D=
0 0 0 0 0 0
0 0 0 0 0 0
Primero inicializo la matriz a ceros >> D=zeros(6,6); 0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
D=

2 6 0 0 0 0
>> D(1:2,1:2)=A 3 9 0 0 0 0
metemos las tres matrices como
>> D(3:4,3:4)=B 0 0 1 2 0 0
submatrices de D
>> D(5:6,5:6)=C 0 0 3 4 0 0
0 0 0 0 -5 5
0 0 0 0 5 3
F=
Eliminar la ultima fila y la ultima columna 2 6 0 0 0 0
>> F=D;
(Se quiere conservar la matriz D, 3 9 0 0 0 0
>> F(6,:)=[]
entonces le asigno el mismo valor a una 0 0 1 2 0 0
nueva variable F sobre la que se realizan 0 0 3 4 0 0
los cambios) 0 0 0 0 -5 5
>> F(:,6)=[] F=

5
EL ENTORNO MATLAB MG. SC. ING. RAFAEL VALENCIA GOYZUETA

2 6 0 0 0
3 9 0 0 0
0 0 1 2 0
0 0 3 4 0
0 0 0 0 -5
H=
Extraer la submatriz 4x4 de la esquina 2 6 0 0
>> H=D(1:4,1:4) 3 9 0 0
superior izquierda de D:
0 0 1 2
0 0 3 4
K=
Extraer la submatriz >> K=D([1 3 6],[2 5]) 6 0
M 1,3, 6 2,5 de D : 0 0
0 5

You might also like