Modelamiento matemático de sistemas de ecuaciones lineales, factorización de matrices e inversa de una matriz mediante Matlab (página 2)
Enviado por Ing. Mohammed Portilla C�mara
El pivot es B2(2,2)=3. Los ceros debajo del pivot se crean con la matriz elemental E3, que coincide con la matriz identidad, excepto E3(3,2)= -B2(3,2)/B2(2,2) =2/3
E3(4,2)= -B2(4,2)/B2(2,2)=5/3
E3=[1 0 0 0;
0 1 0 0;
0 2/3 1 0;
0 5/3 0 1]
Copiamos E3 al MATLAB.
Pasamos previamente al formato racional, con
»format rational (¿ ) Enter
»B3 =E3*B2 (¿ ) Enter
B3 =
2 2 3 4 3
0 3 1 4 2
0 0 -4/3 -1/3 -11/3
0 0 -22/3 -13/3 -17/3
Finamente construimos la matriz elemental E4, de la siguiente manera:
»E4=eye(4) (¿ ) Enter
E4 =
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
Modificamos la matriz identidad directamente en el MATLAB:
»E4(4,3)=-B3(4,3)/B3(3,3) (¿ ) Enter
E4 =
1 0 0 0
0 1 0 0
0 0 1 0
0 0 -11/2 1
Hacemos
» B4=E4*B3 (¿ ) Enter
B4 =
2 2 3 4 3
0 3 1 4 2
0 0 -4/3 -1/3 -11/3
0 0 0 -5/2 29/2
Calculamos la solución siguiendo un proceso regresivo
» w = B4(4,5)/B4(4,4) (¿ ) Enter
w =-29/5
» z = (B4(3,5)-B4(3,4)*w)/B4(3,3) (¿ ) Enter
z = 21/5
» y = (B4(2,5)-B4(2,4)*w- B4(2,3)*z)/B4(2,2) (¿ ) Enter
y = 7
» x = (B4(1,5)-B4(1,4)*w- B4(1,3)*z- B4(1,2)*y)/B4(1,1) (¿ ) Enter
x = -1/5
2. Factorización de matrices e inversa de una matriz
- Factorización LU
Una de las aplicaciones importantes de las matrices elementales es la factorización de matrices, es decir la posibilidad de escribir una matriz cuadrada A como el producto de una matriz subtriangular L por otra supertriangular U, de modo que A=LU.
1) Consideremos la matriz
A =[ 2 2 3 4;
0 3 1 4;
4 2 4 5;
6 1 0 1]
1) Siguiendo el proceso de triangulación anulamos las componentes de la primera columna de A, que están por debajo de la diagonal. De acuerdo al método de Gauss esto lo logramos con la matriz:
E1=[1 0 0 0;
0 1 0 0;
-2 0 1 0;
-3 0 0 1]
Copiamos E1 al MATLAB y hacemos el producto
» B1=E1*A (¿ ) Enter
B1 =
2 2 3 4
0 3 1 4
0 -2 -2 -3
0 -5 -9 -11
2)Para anular las componentes de la segunda columna de B1, que están por debajo de la diagonal, Se toma la matrizelemental:
E2=[1 0 0 0;
0 1 0 0;
0 2/3 1 0;
0 5/3 0 1];
Copiamos E2 al MATLAB y hacemos el producto
» B2=E2*E1*A (¿ ) Enter
B2 =
2 2 3 4
0 3 1 4
0 0 -4/3 -1/3
0 0 -22/3 -13/3
3) Para anular las componentes de la tercera columna de B2, que están por debajo de la diagonal lo multiplicamos por la matriz elemental:
E3=[1 0 0 0;
0 1 0 0;
0 0 1 0;
0 0 -22/4 1] ;
Copiamos E3 al MATLAB y hacemos el producto
» B3=E3*E2*E1*A (¿ ) Enter
B3 =
2 2 3 4
0 3 1 4
0 0 -4/3 -1/3
0 0 0 -5/2
4) Así se ha obtenido la matriz supertriangular U=B3. De la ecuación B3=E3*E2*E1*A, despejando A se tiene A=inv(E3*E2*E1)*B3.
En consecuencia se ha factorizado la matiz A=LU, donde:
» L=inv(E3*E2*E1) (¿ ) Enter
L =
1 0 0 0
0 1 0 0
2 -2/3 1 0
3 -5/3 11/2 1
» U=B3
2 2 3 4
0 3 1 4
0 0 -4/3 -1/3
0 0 0 -5/2
y puede comprobarsecon la ayuda de MatLab que A=L*U. En efecto
» A=L*B3
A=
2 2 3 4
0 3 1 4
4 2 4 5
6 1 0 1
2.2 Inversa de una matriz
Se tiene en el MatLab un comando que calcula directamente la inversa de una matriz
» inv(A)
ans =
-1/20 -1/20 1/20 3/20
7/2 -1/2 -5/2 1/2
23/10 -7/10 -13/10 1/10
-16/5 4/5 11/5 -2/5
Pero el uso de las matrices elementales explica cómo se llega a obtener la inversa de una matriz, en el caso de que ésta exista.
Hemos calculado B3=E3*E2*E1*A
B3 =[ 2 2 3 4;
0 3 1 4 ;
0 0 -4/3 -1/3 ;
0 0 0 -5/2 ]
Para pasar de B3 a la matriz identidad, reducimos a 1 todos sus términos de la diagonal y para esto consideramos la matriz E4
E4 =[ 0.5 0 0 0;
0 1/3 0 0 ;
0 0 -3/4 0 ;
0 0 0 -2/5]
» B4=E4*B3
B4=
1 1 3/2 2
0 1 1/3 4/3
0 0 1 1/4
0 0 0 1
Pivoteando con la última fila, anulamos todos los términos de la última columna, excepto la componente de ladiagonal. Esto se logra multiplicando a la derecha de B4 por la matriz elemental:
E5 =[ 1 0 0 -2;
0 1 0 -4/3;
0 0 1 -1/4 ;
0 0 0 1]
» B5=E5*B4
B5 =
1 1 3/2 0
0 1 1/3 0
0 0 1 0
0 0 0 1
Continuando el proceso, se toma la matriz elemental:
E6 =[ 1 0 -3/2 0;
0 1 -1/3 0;
0 0 1 0;
0 0 0 1]
» B6=E6*B5
B6 =
1 1 0 0
0 1 0 0
0 0 1 0
0 0 0 1
Finalmente con
E7 =[ 1 -1 0 0;
0 1 0 0;
0 0 1 0;
0 0 0 1]
B8=E7*B6
B8 =
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
Así llegamos a que
(E7*E6*E5*E4*E3*E2*E1)*A=Identidad
Luego (E7*E6*E5*E4*E3*E2*E1)=inv(A) y viceversa;
Mg. Ing. Mohammed Portilla Camara Universidad de Lima – ULima Grupo Groming Ingeniería SAC. Gerente de Operaciones Email:
Web Site: Surco, Lima, Perú
Página anterior | Volver al principio del trabajo | Página siguiente |