You are on page 1of 8

Matrices

Una matriz A de m filas y n columnas o de


dimensin mn se representa por
A=a11a21...am1a12a22...am2............a1na2n...amn

Para acceder a un elemento situado en la fila i y en la


columna j, Aij, se escribe A(i,j). La funcin size devuelve
dos nmeros que corresponden a las dimensiones de la
matriz.
La matriz traspuesta A' de la matriz A consiste en
intercambiar filas por columnas: La primera columna de
la matriz A es la primera fila de la matriz traspuesta A', la
segunda columna de la matriz A se convierte en segunda
fila de la matriz A', y as sucesivamente. La dimensin de
la matriz tarspuesta A' es nm, es decir n filas
y mcolumnas
A'=a11a12...a1na21a22...a2n............am1am2...amn

Creacin de una matriz


Se puede crear una matriz de 32, y asignar a la
variable A de dos formas distintas
>> A=[1 2 3
4 5 6];
>> A=[1 2 3; 4 5 6]
A =
1
2
3
4
5
6
>> A(2,2) %accede al elemento situado en la fila 2
columna 2
ans = 5
>> size(A) %dimensiones de la matriz A (2 filas, 3
columnas)
ans = 2
3
>> B=A' % B es la matriz traspuesta de A
B =
1
4
2
5
3
6

>> size(B)
ans =
3

Se puede crear una matriz a partir de vectores o a partir


de otras matrices
>> x1=[1,2,3]; %vectores fila
>> x2=[4,5,6];
>> A=[x1;x2]
A =
1
2
3
4
5
6
>> x1=[1;2;3]; %vectores columna
>> x2=[4;5;6];
>> A=[x1,x2]
A =
1
4
2
5
3
6
>> X=[1,2,3;4,5,6]
X =
1
2
3
4
5
6
>> Y=[7,8,9;10,11,12;13,14,15]
Y =
7
8
9
10
11
12
13
14
15
>> A=[X;Y]
A =
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

La funcion repmat crea una matriz B compuesta de la


repeticin de nm copias de A.
>> A=[1,2;3,4];
>> B=repmat(A,3,2)
B =
1
2
1
3
4
3
1
2
1
3
4
3
1
2
1
3
4
3

2
4
2
4
2
4

Una matriz se puede convertir en un vector columna


>> A=[1,2,3;4,5,6];
>> X=A(:)
X =
1

4
2
5
3
6

Un vector se puede convertir en una matriz diagonal


mediante diag.
>> x=[1,2,3];
>> A=diag(x)
A =
1
0
0
2
0
0

0
0
3

Matrices predefinidas
La funcin zeros(m,n) crea una matriz de
dimensin mn cuyos elementos son todos ceros
La funcin ones(m,n) crea una matriz de
dimensin mn cuyos elementos son todos unos
La funcin eye(n) crea una matriz cuadrada de
dimensin nn en la cual, los elementos de la diagonal
son unos y el resto de los elementos son ceros, es decir,
crea la matriz identidad de dimensin n.
Por ejemplo, zeros(n) reserva espacio para una matriz
cuadrada de dimensin nn.Lo mismo ocurre con ones(n)
>> y=zeros(3)
y =
0
0
0
0
0
0
>> y=zeros(3,1)
y =
0
0
0
>> eye(3)
ans =
1
0
0
1
0
0

0
0
0

0
0
1

Acceso a los elementos de una matriz

Existen tambin varias formas de acceder a ms de un


elemento de una matriz mediante el operador dos
puntos :. Sea la matriz A.
15913261014371115481216

A(:,2) se accede a los elementos de la columna 2


A(:,end) se accede a los elementos de la ltima columna
A(3,:) se accede a los elementos de la fila 3
A(1:3,2:4) se refiere a la submatriz de filas de la 1 a la 3 y
de columnas de la 2 a la 4
>> A=[1 2 3 4; 5 6 7 8; 9 10 11 12; 13 14 15 16]
A =
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
>> A(:,2)
ans =
2
6
10
14
>> A(3,:)
ans =
9
10
11
12
>> A(1:3,2:4)
ans =
2
3
4
6
7
8
10
11
12

Para acceder a los elementos de la matriz sobreados en la


figura escribiremos

>> A=[1,2,3,4;5,6,7,8;9,10,11,12];
>> A([1,2],3)
ans =
3
7

>> A(2,[2,3,4])
ans =
6
7
8
>> A([2,3],2:4)
ans =
6
7
8
10
11
12

Se pueden eliminar elementos a una matriz A y luego


volverlos a aadir
>> A(4,:)=[]
A =
1
2
5
6
9
10

3
7
11

4
8
12

>> A(4,:)=13:16
A =
1
2
3
5
6
7
9
10
11
13
14
15

4
8
12
16

Se puede crear una matriz a partir de vectores columna,


por ejemplo para crear una tabla de valores (abscisa,
ordenada) de una funcin. Se puede calcular la suma de
valores, el valor mximo, mnimo, etc de cada columna,
tal como lo hicimos con los vectores en la pgina anterior.
>> x=0:5; %vector fila
>> y=3*x.^2-5; %vector fila
>> tabla=[x' y']
tabla =
0
-5
1
-2
2
7
3
22
4
43
5
70
>> size(tabla) %matriz de 6 filas y 2 columnas
ans =
6
2
>> max(tabla(:,2))
ans =
70
>> min(tabla(:,2))
ans =
-5
>> sum(tabla(:,2))
ans =
135

Creamos una tabla de cuadrados del nmero entero n, n2 y


de potencias de 2 elevado a la n, 2n del siguiente modo
>> n=[0:5]';
>> potencias=[n n.^2 2.^n]

potencias =
0
0
1
1
2
4
3
9
4
16
5
25

1
2
4
8
16
32

En la pgina titulada Valores y vectores


propios tendremos ocasin de practicar con matrices,
vectores, extraer una matriz o un vector de otra matriz,
crear una matriz a partir de vectores, etc

Operaciones con matrices


Suma de matrices de la misma dimensin
A=[a11a21a12a22a13a23]
B=[b11b21b12b22b13b23]A+B=[(a11+b11)(a21+b21)
(a12+b12)(a22+b22)(a13+b13)(a23+b23)]

Como ejercicio se sugiere comprobar el resultado de la


suma de dos matrices
Producto de dos matrices
Se pueden multiplicar matrices de dimensiones (m, k)
(k, n) para obtener una matriz de dimensin (m, n).
A=[a11a21a12a22a13a23]
B=b11b21b31b12b22b32A*B=[(a11b11+a12b21+a13b3
1)(a21b11+a22b21+a23b31)(a11b12+a12b22+a13b32)

(a21b12+a22b22+a23b32)]
>> A=[1 2 3;4 5 6]
A =
1
2
3

4
5
6
>> B=[1 2; 3 4; 5 6]
B =
1
2
3
4
5
6
>> A*B
ans =
22
28
49
64

Producto escalar de dos vectores


Dos vectores se pueden multiplicar si tienen el mismo
nmero de elementos n, uno de ellos es un vector fila de
dimensin 1n y el otro es un vector columna de
dimensin n1, el resultado es una matriz de dimensin
11, es decir un escalar.
A=[a1a2a3]B=b1b2b3A*B=[a1b1+a2b2+a3b3]

Como vemos esta operacin corresponde al producto


escalar de dos vectores, que MATLAB puede realizar
tambin con la funcin dot.
El producto de un vector columa m1 por un vector fila
1m, del mismo nmero de elementos m nos da una
matriz cuadrada de dimensin mm.
Como ejercicio se sugiere comprobar el resultado del
producto A*B y B*A, siendo A un vector fila y B un
vector columna del mismo nmero de elementos.
Producto de un escalar por una matriz
Cuando una matriz se multiplica por un nmero, cada
elemento de la matriz se multiplica por dicho nmero
A=[a11a21a12a21a13a23]k*A=[ka11ka21ka12ka21ka13k
a23]

La operacin kA es commutativa, se obtiene el mismo


resultado haciendo el producto Ak
Operaciones elemento a elemento

Existen muchas situaciones en las que se requieren


operaciones elemento a elemento similares a las que se
lleva a cabo con la suma o la diferencia de dos matrices
de las mismas dimensiones.
A=a11a21a31a12a22a32a13a23a33
B=b11b21b31b12b22b32b13b23b33A.*B=a11b11a21
b21a31b31a12b12a22b22a32b32a13b13a23b23a33b33A./B=
a11/b11a21/b21a31/b31a12/b12a22/b22a32/b32a13/b13a23/b2
3a33/b33A.^n=(a11)n(a21)n(a31)n(a12)n(a22)n(a32)n(

a13)n(a23)n(a33)n
>> A=[1,2,-4;7,0,5];
>> B=[-6,12,-5;-2,16,15];
>> A.*B
ans =
-6
24
20
-14
0
75
>> A.^2
ans =
1
4
16
49
0
25
>> A./B
ans =
-0.1667
0.1667
0.8000
-3.5000
0
0.3333

Energas Renovables EUITI de Eibar

You might also like