7
1.2 Método de triangulación de Gauss-Jordan con MatLab. Ejemplo Consideremos un sistema de ecuaciones en su forma matricial la matriz aumentada del sistema de ecuaciones es: Por comodidad se escriben en el Editor del MATLAB la matriz B B=[0 3 1 4 2; 2 2 3 4 3; 4 2 4 5 1; 6. 1 0 1 0]; Esto significa que B=[B(i,j)] es una matriz de 4x5 . Por ejemplo B(1,1)=0, B(4,1)=6 Para intercambiar las dos primeras filas de B se emplea la matriz elemental E1 E1=[0 1 0 0; 1 0 0 0; 0 0 1 0; 0 0 0 1]; Se copia B y E1 en el MMATLAB y luego se hace » B1=E1*B (¿ ) Enter B1 = 2 2 3 4 3 0 3 1 4 2 4 2 4 5 1 6 1 0 1 0 El pivot es B1(1,1)=2. Los ceros se consiguen con la matriz elemental E2, que se contruye siguiendo el algoritmo de Gauss: E2=[1 0 0 0; 0 1 0 0; -2 0 1 0; -3 0 0 1]; En efecto E2 es la matriz identidad, excepto E2(3,1)= -B1(3,1)/B1(1,1) =-2

Metodo de Triangulacion

Embed Size (px)

DESCRIPTION

Metodos numéricos

Citation preview

Page 1: Metodo de Triangulacion

1.2 Método de triangulación de Gauss-Jordan con MatLab.Ejemplo

Consideremos un sistema de ecuaciones en su forma matricial

la matriz aumentada del sistema de ecuaciones es:

Por comodidad se escriben en el Editor del MATLAB la matriz B

B=[0 3 1 4 2;

2 2 3 4 3;

4 2 4 5 1;

6. 1 0 1 0];

Esto significa que B=[B(i,j)] es una matriz de 4x5 . Por ejemplo B(1,1)=0, B(4,1)=6

Para intercambiar las dos primeras filas de B se emplea la matriz elemental E1

E1=[0 1 0 0;

1 0 0 0;

0 0 1 0;

0 0 0 1];

Se copia B y E1 en el MMATLAB y luego se hace

» B1=E1*B (¿ ) Enter

B1 =

2 2 3 4 3

0 3 1 4 2

4 2 4 5 1

6 1 0 1 0

El pivot es B1(1,1)=2. Los ceros se consiguen con la matriz elemental E2, que se contruye siguiendo el algoritmo de Gauss:

E2=[1 0 0 0;

0 1 0 0;

-2 0 1 0;

-3 0 0 1];

En efecto E2 es la matriz identidad, excepto

E2(3,1)= -B1(3,1)/B1(1,1) =-2

E2(4,1)= -B1(4,1)/B1(1,1)=-3

Page 2: Metodo de Triangulacion

Se copia E2 en el MatLab y luego se hace

» B2=E2*B1 (¿ ) Enter

B2 =

2 2 3 4 3

0 3 1 4 2

0 -2 -2 -3 -5

0 -5 -9 -11 -9

Por comodidad copiamos B2 al editor.

B2=[ 2 2 3 4 3;

0 3 1 4 2;

0 -2 -2 -3 -5;

0 -5 -9 -11 -9]

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

Page 3: Metodo de Triangulacion

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 matriz1. 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 Acomo 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 almé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

Page 4: Metodo de Triangulacion

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

Page 5: Metodo de Triangulacion

A=

2 2 3 4

0 3 1 4

4 2 4 5

6 1 0 1

2.2 Inversa de una matrizSe 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

Page 6: Metodo de Triangulacion

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 CamaraUniversidad de Lima - ULimaGrupo Groming Ingeniería SAC.Gerente de OperacionesEmail: Web Site: