ÍNDICE

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
  • Insertando arrays como filas.
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.
  • Traza
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

 
 
  • Otras funciones:
[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
 


Indice