Creación de una matriz
Se puede crear una matriz de 3×2, 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 2
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 repetición
de n×m copias de A.
>> A=[1,2;3,4];
>> B=repmat(A,3,2)
B =
1 2 1 2
3 4 3 4
1 2 1 2
3 4 3 4
1 2 1 2
3 4 3 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
0 2 0
0 0 3
Matrices predefinidas
La función zeros(m,n) crea una matriz de dimensión m×n cuyos elementos
son todos ceros
La función ones(m,n) crea una matriz de dimensión m×n cuyos elementos
son todos unos
La función eye(n) crea una matriz cuadrada de dimensión n×n 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 dimensión n.
Por ejemplo, zeros(n) reserva espacio para una matriz cuadrada de
dimensión n×n.Lo mismo ocurre con ones(n)
>> y=zeros(3)
y =
0 0 0
0 0 0
0 0 0
>> y=zeros(3,1)
y =
0
0
0
>> eye(3)
ans =
1 0 0
0 1 0
0 0 1
Acceso a los elementos de una matriz
Existen también varias formas de acceder a más de un elemento de una
matriz mediante el operador dos puntos :. Sea la matriz A.
⎛⎝⎜⎜⎜15913261014371115481216⎞⎠⎟⎟⎟(12345678910111213141516)
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 añadir
>> A(4,:)=[]
A =
1 2 3 4
5 6 7 8
9 10 11 12
>> A(4,:)=13:16
A =
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
Se puede crear una matriz a partir de vectores columna, por ejemplo para
crear una tabla de valores (abscisa, ordenada) de una función. Se puede
calcular la suma de valores, el valor máximo, mínimo, etc de cada columna,
tal como lo hicimos con los vectores en la página 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 número 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 1 2
2 4 4
3 9 8
4 16 16
5 25 32
Operaciones con matrices
Producto de dos matrices
Se pueden multiplicar matrices de dimensiones (m, k) ×(k, n) para obtener
una matriz de dimensión (m, n).
>> 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 de un escalar por una matriz
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=[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