Sistema de ecuaciones algebraicas. Descomposición...
Transcript of Sistema de ecuaciones algebraicas. Descomposición...
beamer-tu-logo
Sistema de ecuaciones algebraicas.Descomposicion LU.
Curso: Metodos Numericos en IngenierıaProfesor: Dr. Jose A. Otero HernandezCorreo: [email protected]: http://metodosnumericoscem.weebly.comUniversidad: ITESM CEM
beamer-tu-logo
Introduccion Descomposicion LU Eliminacion de Gauss usando la descomposicion LU Programas MATLAB
Topicos
1 Introduccion
2 Descomposicion LU
3 Eliminacion de Gauss usando la descomposicion LU
4 Programas MATLABA=LULU Gauss SimpleLU Gauss con Pivoteo Parcial
beamer-tu-logo
Introduccion Descomposicion LU Eliminacion de Gauss usando la descomposicion LU Programas MATLAB
Topicos
1 Introduccion
2 Descomposicion LU
3 Eliminacion de Gauss usando la descomposicion LU
4 Programas MATLABA=LULU Gauss SimpleLU Gauss con Pivoteo Parcial
beamer-tu-logo
Introduccion Descomposicion LU Eliminacion de Gauss usando la descomposicion LU Programas MATLAB
Sistemas de ecuaciones algebraicosUn sistema de ecuaciones lo podemos representar enforma matricial como:
AX = B,
Existen problemas para los cuales se necesitan evaluarmuchos vectores B para una sola matriz A,La eliminacion de Gauss como ha sido presentada, serıamuy ineficiente para resolver estos problemas.
beamer-tu-logo
Introduccion Descomposicion LU Eliminacion de Gauss usando la descomposicion LU Programas MATLAB
Sistemas de ecuaciones algebraicosUn sistema de ecuaciones lo podemos representar enforma matricial como:
AX = B,
Existen problemas para los cuales se necesitan evaluarmuchos vectores B para una sola matriz A,La eliminacion de Gauss como ha sido presentada, serıamuy ineficiente para resolver estos problemas.
beamer-tu-logo
Introduccion Descomposicion LU Eliminacion de Gauss usando la descomposicion LU Programas MATLAB
Sistemas de ecuaciones algebraicosUn sistema de ecuaciones lo podemos representar enforma matricial como:
AX = B,
Existen problemas para los cuales se necesitan evaluarmuchos vectores B para una sola matriz A,La eliminacion de Gauss como ha sido presentada, serıamuy ineficiente para resolver estos problemas.
beamer-tu-logo
Introduccion Descomposicion LU Eliminacion de Gauss usando la descomposicion LU Programas MATLAB
Tecnica de descomposicion LUEl paso de eliminacion se puede formular de tal maneraque involucre solo operaciones con la matriz de loscoeficiente A,A = LU , donde L es una matriz triangular inferior (Lower)y U es una matriz triangular superior (Upper),Mostraremos como se puede implementar la eliminacionde Gauss como una descomposicion LU .
beamer-tu-logo
Introduccion Descomposicion LU Eliminacion de Gauss usando la descomposicion LU Programas MATLAB
Tecnica de descomposicion LUEl paso de eliminacion se puede formular de tal maneraque involucre solo operaciones con la matriz de loscoeficiente A,A = LU , donde L es una matriz triangular inferior (Lower)y U es una matriz triangular superior (Upper),Mostraremos como se puede implementar la eliminacionde Gauss como una descomposicion LU .
beamer-tu-logo
Introduccion Descomposicion LU Eliminacion de Gauss usando la descomposicion LU Programas MATLAB
Tecnica de descomposicion LUEl paso de eliminacion se puede formular de tal maneraque involucre solo operaciones con la matriz de loscoeficiente A,A = LU , donde L es una matriz triangular inferior (Lower)y U es una matriz triangular superior (Upper),Mostraremos como se puede implementar la eliminacionde Gauss como una descomposicion LU .
beamer-tu-logo
Introduccion Descomposicion LU Eliminacion de Gauss usando la descomposicion LU Programas MATLAB
Topicos
1 Introduccion
2 Descomposicion LU
3 Eliminacion de Gauss usando la descomposicion LU
4 Programas MATLABA=LULU Gauss SimpleLU Gauss con Pivoteo Parcial
beamer-tu-logo
Introduccion Descomposicion LU Eliminacion de Gauss usando la descomposicion LU Programas MATLAB
Revision de la descomposicion LU
Dado el sistema:AX = B,
se puede reordenar como:
AX −B = 0.
Supongamos que podemos expresarlo como un sistematriangular superior: u11 u12 u13
0 u22 u230 0 u33
x1x2x3
=
d1d2d3
Esto es similar a la manipulacion que ocurre con la eliminacionde Gauss.
beamer-tu-logo
Introduccion Descomposicion LU Eliminacion de Gauss usando la descomposicion LU Programas MATLAB
Revision de la descomposicion LU
Dado el sistema:AX = B,
se puede reordenar como:
AX −B = 0.
Supongamos que podemos expresarlo como un sistematriangular superior: u11 u12 u13
0 u22 u230 0 u33
x1x2x3
=
d1d2d3
Esto es similar a la manipulacion que ocurre con la eliminacionde Gauss.
beamer-tu-logo
Introduccion Descomposicion LU Eliminacion de Gauss usando la descomposicion LU Programas MATLAB
Revision de la descomposicion LU
Dado el sistema:AX = B,
se puede reordenar como:
AX −B = 0.
Supongamos que podemos expresarlo como un sistematriangular superior: u11 u12 u13
0 u22 u230 0 u33
x1x2x3
=
d1d2d3
Esto es similar a la manipulacion que ocurre con la eliminacionde Gauss.
beamer-tu-logo
Introduccion Descomposicion LU Eliminacion de Gauss usando la descomposicion LU Programas MATLAB
Revision de la descomposicion LU
En notacion matricial:
U X −D = 0,
Tambien se podrıa obtener una matriz triangular inferior connumeros 1 en la diagonal:
L =
1 0 0l21 1 0l31 l32 1
Se demuestra que si pre-multiplicamos la matriz L al miembroizquierdo de la ecuacion matricial anterior llegamos a:
L (U X −D) = AX −B ⇒ LU X − LD = AX −B.
Por tanto, LU = A, LD = B.
beamer-tu-logo
Introduccion Descomposicion LU Eliminacion de Gauss usando la descomposicion LU Programas MATLAB
Revision de la descomposicion LU
En notacion matricial:
U X −D = 0,
Tambien se podrıa obtener una matriz triangular inferior connumeros 1 en la diagonal:
L =
1 0 0l21 1 0l31 l32 1
Se demuestra que si pre-multiplicamos la matriz L al miembroizquierdo de la ecuacion matricial anterior llegamos a:
L (U X −D) = AX −B ⇒ LU X − LD = AX −B.
Por tanto, LU = A, LD = B.
beamer-tu-logo
Introduccion Descomposicion LU Eliminacion de Gauss usando la descomposicion LU Programas MATLAB
Revision de la descomposicion LU
En notacion matricial:
U X −D = 0,
Tambien se podrıa obtener una matriz triangular inferior connumeros 1 en la diagonal:
L =
1 0 0l21 1 0l31 l32 1
Se demuestra que si pre-multiplicamos la matriz L al miembroizquierdo de la ecuacion matricial anterior llegamos a:
L (U X −D) = AX −B ⇒ LU X − LD = AX −B.
Por tanto, LU = A, LD = B.
beamer-tu-logo
Introduccion Descomposicion LU Eliminacion de Gauss usando la descomposicion LU Programas MATLAB
Revision de la descomposicion LU
En notacion matricial:
U X −D = 0,
Tambien se podrıa obtener una matriz triangular inferior connumeros 1 en la diagonal:
L =
1 0 0l21 1 0l31 l32 1
Se demuestra que si pre-multiplicamos la matriz L al miembroizquierdo de la ecuacion matricial anterior llegamos a:
L (U X −D) = AX −B ⇒ LU X − LD = AX −B.
Por tanto, LU = A, LD = B.
beamer-tu-logo
Introduccion Descomposicion LU Eliminacion de Gauss usando la descomposicion LU Programas MATLAB
Revision de la descomposicion LU
Una estrategia en dos pasos para resolver el sistema deecuaciones es:Paso de descomposicion La matriz A se descompone en las
matrices triangulares inferior L y superior U ,Paso de sustitucion L y U se usan para determinar una
solucion X para una B,Primero: Se determina el vector D usando laexpresion
LD = B
(sustitucion hacia adelante),
di = bi −i−1∑j=1
lijdj para i = 2, · · · , n
beamer-tu-logo
Introduccion Descomposicion LU Eliminacion de Gauss usando la descomposicion LU Programas MATLAB
Revision de la descomposicion LU
Una estrategia en dos pasos para resolver el sistema deecuaciones es:Paso de descomposicion La matriz A se descompone en las
matrices triangulares inferior L y superior U ,Paso de sustitucion L y U se usan para determinar una
solucion X para una B,Primero: Se determina el vector D usando laexpresion
LD = B
(sustitucion hacia adelante),
di = bi −i−1∑j=1
lijdj para i = 2, · · · , n
beamer-tu-logo
Introduccion Descomposicion LU Eliminacion de Gauss usando la descomposicion LU Programas MATLAB
Revision de la descomposicion LU
Una estrategia en dos pasos para resolver el sistema deecuaciones es:Paso de descomposicion La matriz A se descompone en las
matrices triangulares inferior L y superior U ,Paso de sustitucion L y U se usan para determinar una
solucion X para una B,Primero: Se determina el vector D usando laexpresion
LD = B
(sustitucion hacia adelante),
di = bi −i−1∑j=1
lijdj para i = 2, · · · , n
beamer-tu-logo
Introduccion Descomposicion LU Eliminacion de Gauss usando la descomposicion LU Programas MATLAB
Revision de la descomposicion LU
Paso de sustitucion L y U se usan para determinar unasolucion X para una B,
Segundo: El resultado anterior se sustituyeen la expresion
U X −D = 0
(sustitucion hacia atras),
xn =dnunn
xi =
di −n∑
j=i+1uijxj
uii, para i = n− 1, · · · , 2, 1
beamer-tu-logo
Introduccion Descomposicion LU Eliminacion de Gauss usando la descomposicion LU Programas MATLAB
Topicos
1 Introduccion
2 Descomposicion LU
3 Eliminacion de Gauss usando la descomposicion LU
4 Programas MATLABA=LULU Gauss SimpleLU Gauss con Pivoteo Parcial
beamer-tu-logo
Introduccion Descomposicion LU Eliminacion de Gauss usando la descomposicion LU Programas MATLAB
Eliminacion de GaussDado el sistema: a11 a12 a13
a21 a22 a23a31 a32 a33
x1x2x3
=
b1b2b3
La eliminacion de Gauss conduce a una matriz triangularsuperior U :
U =
a11 a12 a13
0 a(1)22 a
(1)23
0 0 a(2)33
En la creacion de la matriz triangular superior U , tambien secrea la matriz triangular inferior L.
beamer-tu-logo
Introduccion Descomposicion LU Eliminacion de Gauss usando la descomposicion LU Programas MATLAB
Eliminacion de GaussDado el sistema: a11 a12 a13
a21 a22 a23a31 a32 a33
x1x2x3
=
b1b2b3
La eliminacion de Gauss conduce a una matriz triangularsuperior U :
U =
a11 a12 a13
0 a(1)22 a
(1)23
0 0 a(2)33
En la creacion de la matriz triangular superior U , tambien secrea la matriz triangular inferior L.
beamer-tu-logo
Introduccion Descomposicion LU Eliminacion de Gauss usando la descomposicion LU Programas MATLAB
Eliminacion de Gauss a11 a12 a13a21 a22 a23a31 a32 a33
x1x2x3
=
b1b2b3
Recordemos los pasos de la eliminacion de Gauss para elsistema de 3 ecuaciones:
1 Multiplicar la fila 1 por el factor: a21a11
= f21 y restar elresultado a la fila 2 para eliminar a21
2 Multiplicar la fila 1 por el factor: a31a11
= f31 y restar elresultado a la fila 3 para eliminar a31
3 Multiplicar la fila 2 modificada por el factor: a(1)32
a(1)22
= f32 y
restar el resultado a la fila 3 para eliminar a(1)32
beamer-tu-logo
Introduccion Descomposicion LU Eliminacion de Gauss usando la descomposicion LU Programas MATLAB
Eliminacion de GaussFinalmente,
A = LU
donde
U =
a11 a12 a13
0 a(1)22 a
(1)23
0 0 a(2)33
L =
1 0 0f21 1 0f31 f32 1
beamer-tu-logo
Introduccion Descomposicion LU Eliminacion de Gauss usando la descomposicion LU Programas MATLAB
Eliminacion de GaussFinalmente,
A = LU
donde
U =
a11 a12 a13
0 a(1)22 a
(1)23
0 0 a(2)33
L =
1 0 0f21 1 0f31 f32 1
beamer-tu-logo
Introduccion Descomposicion LU Eliminacion de Gauss usando la descomposicion LU Programas MATLAB
Eliminacion de GaussFinalmente,
A = LU
donde
U =
a11 a12 a13
0 a(1)22 a
(1)23
0 0 a(2)33
L =
1 0 0f21 1 0f31 f32 1
beamer-tu-logo
Introduccion Descomposicion LU Eliminacion de Gauss usando la descomposicion LU Programas MATLAB
Topicos
1 Introduccion
2 Descomposicion LU
3 Eliminacion de Gauss usando la descomposicion LU
4 Programas MATLABA=LULU Gauss SimpleLU Gauss con Pivoteo Parcial
beamer-tu-logo
Introduccion Descomposicion LU Eliminacion de Gauss usando la descomposicion LU Programas MATLAB
A=LU
Programa MATLAB
function lugaussv1 (A)[m, n ] = size (A) ;i f m˜=n , error ( ’ Ma t r i z A debe ser cuadrada ’ ) ; endU = A;for j =1:n
L ( j , j ) =1 .0 ;end% El im inac ion hacia adelantefor k = 1:n−1
for i = k +1:nf a c t o r = U( i , k ) /U( k , k ) ;U( i , k : n ) = U( i , k : n )−f a c t o r∗U( k , k : n ) ;L ( i , k ) = f a c t o r ;
endenddisp ( ’ Ma t r i z U ’ ) ;Udisp ( ’ Ma t r i z L ’ ) ;Ldisp ( ’ Ma t r i z L∗U ’ ) ;L∗U
beamer-tu-logo
Introduccion Descomposicion LU Eliminacion de Gauss usando la descomposicion LU Programas MATLAB
LU Gauss Simple
Programa MATLAB
function lugaussv2 (A,B)[m, n ] = size (A) ;i f m˜=n , error ( ’ Ma t r i z A debe ser cuadrada ’ ) ; endU = A;for j =1:n
L ( j , j ) =1 .0 ;end% Paso 1: Descomposicion LU−>El im inac ion hacia adelantefor k = 1:n−1
for i = k +1:nf a c t o r = U( i , k ) /U( k , k ) ;U( i , k : n ) = U( i , k : n )−f a c t o r∗U( k , k : n ) ;L ( i , k ) = f a c t o r ;
endend% Paso 2: Determinacion de l vec to r D−>S u s t i t u c i o n hacia adelanteD = zeros ( n , 1 ) ;D( 1 ) =B( 1 ) ;Sal ida1 =[ ’D1 ’ , ’ = ’ ,num2str (D( 1 ) ) ] ;disp ( Sal ida1 )for i = 2 : n
D( i ) = B( i )−L ( i , 1 : i −1)∗D( 1 : i −1) ;Sal ida2 =[ ’D ’ ,num2str ( i ) , ’ = ’ , num2str (D( i ) ) ] ;disp ( Sal ida2 )
enddisp ( ’ ’ ) ;% Paso 3: Soluc ion f i n a l−>S u s t i t u c i o n hacia a t ras
x = zeros ( n , 1 ) ;x ( n ) = D( n ) /U( n , n ) ;Sal ida3 =[ ’ x ’ ,num2str ( n ) , ’ = ’ , num2str ( x ( n ) ) ] ;disp ( Sal ida3 )for i = n−1:−1:1
x ( i ) = (D( i )−U( i , i +1:n )∗x ( i +1:n ) ) /U( i , i ) ;Sal ida4 =[ ’ x ’ ,num2str ( i ) , ’ = ’ , num2str ( x ( i ) ) ] ;disp ( Sal ida4 )
end
beamer-tu-logo
Introduccion Descomposicion LU Eliminacion de Gauss usando la descomposicion LU Programas MATLAB
LU Gauss Simple
Programa MATLAB
% Paso 3: Soluc ion f i n a l−>S u s t i t u c i o n hacia a t rasx = zeros ( n , 1 ) ;x ( n ) = D( n ) /U( n , n ) ;Sal ida3 =[ ’ x ’ ,num2str ( n ) , ’ = ’ , num2str ( x ( n ) ) ] ;disp ( Sal ida3 )for i = n−1:−1:1
x ( i ) = (D( i )−U( i , i +1:n )∗x ( i +1:n ) ) /U( i , i ) ;Sal ida4 =[ ’ x ’ ,num2str ( i ) , ’ = ’ , num2str ( x ( i ) ) ] ;disp ( Sal ida4 )
end
beamer-tu-logo
Introduccion Descomposicion LU Eliminacion de Gauss usando la descomposicion LU Programas MATLAB
LU Gauss Simple
Problema
3x1 − 0.1x2 − 0.2x3 = 7.850.1x1 + 7x2 − 0.3x3 = −19.30.3x1 − 0.2x2 + 10x3 = 71.4
beamer-tu-logo
Introduccion Descomposicion LU Eliminacion de Gauss usando la descomposicion LU Programas MATLAB
LU Gauss Simple
Problema
2x2 + 3x3 = 84x1 + 6x2 + 7x3 = −32x1 + x2 + 6x3 = 5
beamer-tu-logo
Introduccion Descomposicion LU Eliminacion de Gauss usando la descomposicion LU Programas MATLAB
LU Gauss con Pivoteo Parcial
Programa MATLAB
function lugaussv3 (A,B)[m, n ] = size (A) ;i f m˜=n , error ( ’ Ma t r i z A debe ser cuadrada ’ ) ; endU = A;L = zeros ( n , n ) ;% Paso 1: Descomposicion LU−>El im inac ion hacia adelantefor k = 1:n−1
% Pivoteo p a r c i a l[ mayor , i ]=max( abs (U( k : n , k ) ) ) ;i p = i +k−1;i f i p ˜= k
U( [ k , i p ] , : ) =U( [ ip , k ] , : ) ;B ( [ k , i p ] ) =B ( [ ip , k ] ) ;L ( [ k , i p ] , : ) =L ( [ ip , k ] , : ) ;
endfor i = k +1:n
f a c t o r = U( i , k ) /U( k , k ) ;U( i , k : n ) = U( i , k : n )−f a c t o r∗U( k , k : n ) ;L ( i , k ) = f a c t o r ;
endendfor j =1:n
L ( j , j ) =1 .0 ;endLU% Paso 2: Determinacion de l vec to r D−>S u s t i t u c i o n hacia adelanteD = zeros ( n , 1 ) ;D( 1 ) =B( 1 ) ;Sal ida1 =[ ’D1 ’ , ’ = ’ ,num2str (D( 1 ) ) ] ;disp ( Sal ida1 )for i = 2 : n
D( i ) = B( i )−L ( i , 1 : i −1)∗D( 1 : i −1) ;Sal ida2 =[ ’D ’ ,num2str ( i ) , ’ = ’ , num2str (D( i ) ) ] ;disp ( Sal ida2 )
enddisp ( ’ ’ ) ;% Paso 3: Soluc ion f i n a l−>S u s t i t u c i o n hacia a t ras
x = zeros ( n , 1 ) ;x ( n ) = D( n ) /U( n , n ) ;Sal ida3 =[ ’ x ’ ,num2str ( n ) , ’ = ’ , num2str ( x ( n ) ) ] ;disp ( Sal ida3 )for i = n−1:−1:1
x ( i ) = (D( i )−U( i , i +1:n )∗x ( i +1:n ) ) /U( i , i ) ;Sal ida4 =[ ’ x ’ ,num2str ( i ) , ’ = ’ , num2str ( x ( i ) ) ] ;disp ( Sal ida4 )
end
beamer-tu-logo
Introduccion Descomposicion LU Eliminacion de Gauss usando la descomposicion LU Programas MATLAB
LU Gauss con Pivoteo Parcial
Programa MATLAB
% Paso 2: Determinacion de l vec to r D−>S u s t i t u c i o n hacia adelanteD = zeros ( n , 1 ) ;D( 1 ) =B( 1 ) ;Sal ida1 =[ ’D1 ’ , ’ = ’ ,num2str (D( 1 ) ) ] ;disp ( Sal ida1 )for i = 2 : n
D( i ) = B( i )−L ( i , 1 : i −1)∗D( 1 : i −1) ;Sal ida2 =[ ’D ’ ,num2str ( i ) , ’ = ’ , num2str (D( i ) ) ] ;disp ( Sal ida2 )
enddisp ( ’ ’ ) ;% Paso 3: Soluc ion f i n a l−>S u s t i t u c i o n hacia a t ras
x = zeros ( n , 1 ) ;x ( n ) = D( n ) /U( n , n ) ;Sal ida3 =[ ’ x ’ ,num2str ( n ) , ’ = ’ , num2str ( x ( n ) ) ] ;disp ( Sal ida3 )for i = n−1:−1:1
x ( i ) = (D( i )−U( i , i +1:n )∗x ( i +1:n ) ) /U( i , i ) ;Sal ida4 =[ ’ x ’ ,num2str ( i ) , ’ = ’ , num2str ( x ( i ) ) ] ;disp ( Sal ida4 )
end