MATRICES.Introducción
Introducción
manual de los elementos de una matriz.
-
Se abre con un corchete, se separan los elementos
de una fila por espacios o comas. Las filas por el signo; o mediante ENTER.
Se cierra la matriz con corchetes.
Ejemplo:
Dos
formas diferentes de introducir en MatLab una matriz A
EDU»
A=[1 2 3;4 5 6;7 8 9]
A
=
1 2 3
4 5 6
7 8 9 |
|
EDU»
A=[1 3 5
7
9 11
2
4 6]
A
=
1 3 5
7 9 11
2 4 6 |
Ejemplo:
Damos
una matriz B
EDU»
fila1=[1 3 5]
fila1
=
1 3 5 |
|
EDU»
B=[fila1;3 4 5;fila1]
B
=
1 3 5
3 4 5
1 3 5 |
|
EDU»
B=[ fila1
3
4 5;1 3 5]
B
=
1 3 5
3
4 5
1 3 5 |
-
Cambiando el orden de los términos
del array a voluntad como ya habíamos visto.
Ejemplo:
Definimos
una nueva matriz C cuya última fila está formada
por los elementos del array del ejemplo anterior cambiados de orden.
EDU»
C=[fila1;3 4 5;fila1([2 1 3])]
C
=
1 3 5
3 4 5
3 1 5 |
Direccionar
elementos de una matriz.
Se utilizan las mismas técnicas
que en el direccionamiento de arrays .
EDU»
C(2,3) % Selecciona el elemento fila 2 columna 3
ans
=
5
EDU»
C(:,2:3) % el signo : significa todos. Selecciona de todas las filas
las columnas
de 2 a 3.
ans
=
3 5
4 5
1 5 |
Operadores
sobre matrices: traspuesta,
inversa, rango, determinante y traza
-
El operador .' calcula automáticamente
la traspuesta de una matriz. El operador ' calcula la transpuesta
conjugada.
Ejemplo:
Calculamos
la traspuesta y la traspuesta conjugada de la matriz C anterior.
EDU>>d=C.'
d
=
1 3 3
3 4 1
5 5 5 |
|
EDU>>d=C'
d
=
1 3 3
3 4 1
5 5 5 |
Observa que como la matriz C
es real los operadores .' y ' dan el mismo resultado.
Ejemplo:
Calculamos
la traspuesta y la traspuesta conjugada de una matriz C con elementos
números
complejos no reales.
EDU»
D=[1+i 2 i; -i 1-i 2-3i]
D
=
1.0000 + 1.0000i 2.0000
0 + 1.0000i
0 - 1.0000i 1.0000 - 1.0000i 2.0000 - 3.0000i
EDU»
D'
ans
=
1.0000 - 1.0000i 0 + 1.0000i
2.0000
1.0000 + 1.0000i
0 - 1.0000i 2.0000 + 3.0000i
EDU»
D.'
ans
=
1.0000 + 1.0000i 0 - 1.0000i
2.0000
1.0000 - 1.0000i
0 + 1.0000i 2.0000 - 3.0000i |
También podemos crear
nosotros mismos un operador que calcule la matriz traspuesta.
EDU»
for i=1:3
for
j=1:3
trB(i,j)=B(j,i);
end;
end |
Utilizando el operador tr
que acabamos de definir calcula la traspuesta de las matrices C
y D
y comprueba el resulatdo obtenido.
Ejercicio: Crea un
operador tr_conjque
calcule la traspuesta conjugada.
Ejemplo:
A=[1
2 2
3
2 5
3
2 1];
EDU»
det(A)
ans
= 16
EDU»
inv(A)
ans
=
-0.5000
0.1250 0.3750
0.7500
-0.3125 0.0625
0
0.2500 -0.2500
rank(A)
ans
=
3
trace(A)
ans
=
4 |
[m,n]=size(A) devuelve el nº
de filas y columnas de A
n=length(x) devuelve el nº
de elementos del vector x
A^n está definida si A es cuadrada
y n en número real.
Matrices
especiales en MATLAB
Son matrices que pueden ser de utilidad
en ciertas aplicaciones.
EDU»
zeros(3) % Crea una matriz de ceros (3x3)
ans
=
0
0 0
0
0 0
0
0 0
EDU»
ones(2) % Crea una matriz de unos (2x2)
ans
=
1
1
1
1
EDU»
ones(2,5) % Crea una matriz de unos (2x5)
ans
=
1
1 1 1 1
1
1 1 1 1
EDU»
ones(2,5)*pi
ans
=
3.1416
3.1416 3.1416 3.1416 3.1416
3.1416
3.1416 3.1416 3.1416 3.1416
EDU»
rand(3,2) % Crea una matriz (3x2)con números aleatorios entre 0
y 1
ans
=
0.2190
0.6793
0.0470
0.9347
0.6489
0.3087
EDU»
eye(3) % Crea una matriz identidad (3x3)
ans
=
1
0 0
0
1 0
0
0 1
EDU»
a=[1 2 3;4 5 6]
a
=
1
2 3
4
5 6
EDU»
b=ones(size(a)) % Crea una matriz de unos del tamaño de la matriz
a
utilizando la función size.
b
=
1
1 1
1
1 1 |
|