Sistema de ecuaciones algebraicas. ´ de Gauss. Eliminacion
´ ´ Curso: Metodos Numericos en Ingenier´ıa ´ Profesor: Dr. Jose´ A. Otero Hernandez Correo:
[email protected] web: http://metodosnumericoscem.weebly.com Universidad: ITESM CEM
beamer-tu-log
´ Introduccion
´ de Gauss Eliminacion
Programas MATLAB
´ Topicos
1
´ Introduccion Ecuaciones algebraicas lineales ´ de sistemas de ecuaciones pequenos ˜ Solucion ´ de Gauss Eliminacion
2
´ de Gauss Eliminacion ´ de Gauss simple Eliminacion
3
Programas MATLAB Gauss Simple Gauss con Pivoteo Parcial
beamer-tu-log
´ Introduccion
´ de Gauss Eliminacion
Programas MATLAB
´ Topicos
1
´ Introduccion Ecuaciones algebraicas lineales ´ de sistemas de ecuaciones pequenos ˜ Solucion ´ de Gauss Eliminacion
2
´ de Gauss Eliminacion ´ de Gauss simple Eliminacion
3
Programas MATLAB Gauss Simple Gauss con Pivoteo Parcial
beamer-tu-log
´ Introduccion
´ de Gauss Eliminacion
Programas MATLAB
Ecuaciones algebraicas lineales
Forma General a11 x1 + a12 x2 + · · · + a1n xn = b1 a21 x1 + a22 x2 + · · · + a2n xn = b2 .. .. .. . . . an1 x1 + an2 x2 + · · · + ann xn = bn donde a y b son los coeficientes constantes, n es el numero de ecuaciones, ´ ´ x son las incognitas.
beamer-tu-log
´ Introduccion
´ de Gauss Eliminacion
Programas MATLAB
Ecuaciones algebraicas lineales
Forma General a11 x1 + a12 x2 + · · · + a1n xn = b1 a21 x1 + a22 x2 + · · · + a2n xn = b2 .. .. .. . . . an1 x1 + an2 x2 + · · · + ann xn = bn donde a y b son los coeficientes constantes, n es el numero de ecuaciones, ´ ´ x son las incognitas.
beamer-tu-log
´ Introduccion
´ de Gauss Eliminacion
Programas MATLAB
´ de sistemas de ecuaciones pequenos ˜ Solucion
´ de sistemas de ecuaciones pequenos ˜ Solucion (n ≤ 3) ´ ´ Metodo grafico, Regla de Cramer, ´ de incognitas. ´ Eliminacion
beamer-tu-log
´ Introduccion
´ de Gauss Eliminacion
Programas MATLAB
´ de sistemas de ecuaciones pequenos ˜ Solucion
´ de sistemas de ecuaciones pequenos ˜ Solucion (n ≤ 3) ´ ´ Metodo grafico, Regla de Cramer, ´ de incognitas. ´ Eliminacion
beamer-tu-log
´ Introduccion
´ de Gauss Eliminacion
Programas MATLAB
´ de sistemas de ecuaciones pequenos ˜ Solucion
´ de sistemas de ecuaciones pequenos ˜ Solucion (n ≤ 3) ´ ´ Metodo grafico, Regla de Cramer, ´ de incognitas. ´ Eliminacion
beamer-tu-log
´ Introduccion
´ de Gauss Eliminacion
Programas MATLAB
´ de sistemas de ecuaciones pequenos ˜ Solucion
´ de sistemas de ecuaciones pequenos ˜ Solucion (n ≤ 3) ´ ´ Metodo grafico, Regla de Cramer, ´ de incognitas. ´ Eliminacion
beamer-tu-log
´ Introduccion
´ de Gauss Eliminacion
Programas MATLAB
´ de Gauss Eliminacion
´ de Gauss Eliminacion ´ Es una tecnica para resolver sistemas de ecuaciones algebraicas, ´ entre La metodolog´ıa establece una combinacion ´ ecuaciones para eliminar las incognitas, ´ ´ antiguos para Aunque es unos de los metodos mas resolver sistemas de ecuaciones algebraicas, continua ´ siendo uno de los algoritmos de mayor uso en muchos paquetes computacionales.
beamer-tu-log
´ Introduccion
´ de Gauss Eliminacion
Programas MATLAB
´ de Gauss Eliminacion
´ de Gauss Eliminacion ´ Es una tecnica para resolver sistemas de ecuaciones algebraicas, ´ entre La metodolog´ıa establece una combinacion ´ ecuaciones para eliminar las incognitas, ´ ´ antiguos para Aunque es unos de los metodos mas resolver sistemas de ecuaciones algebraicas, continua ´ siendo uno de los algoritmos de mayor uso en muchos paquetes computacionales.
beamer-tu-log
´ Introduccion
´ de Gauss Eliminacion
Programas MATLAB
´ de Gauss Eliminacion
´ de Gauss Eliminacion ´ Es una tecnica para resolver sistemas de ecuaciones algebraicas, ´ entre La metodolog´ıa establece una combinacion ´ ecuaciones para eliminar las incognitas, ´ ´ antiguos para Aunque es unos de los metodos mas resolver sistemas de ecuaciones algebraicas, continua ´ siendo uno de los algoritmos de mayor uso en muchos paquetes computacionales.
beamer-tu-log
´ Introduccion
´ de Gauss Eliminacion
Programas MATLAB
´ Topicos
1
´ Introduccion Ecuaciones algebraicas lineales ´ de sistemas de ecuaciones pequenos ˜ Solucion ´ de Gauss Eliminacion
2
´ de Gauss Eliminacion ´ de Gauss simple Eliminacion
3
Programas MATLAB Gauss Simple Gauss con Pivoteo Parcial
beamer-tu-log
´ Introduccion
´ de Gauss Eliminacion
Programas MATLAB
´ de Gauss simple Eliminacion
Sistema general de n ecuaciones a11 x1 + a12 x2 + · · · + a1n xn a21 x1 + a22 x2 + · · · + a2n xn .. .. . .
= b1 = b2 .. .
an1 x1 + an2 x2 + · · · + ann xn = bn
beamer-tu-log
´ Introduccion
´ de Gauss Eliminacion
Programas MATLAB
´ de Gauss simple Eliminacion
´ hacia adelante de incognitas ´ Eliminacion Paso 1: Eliminar la primera incognita x1 desde la segunda ´ ´ Para esto se multiplica la primera hasta la n-esima ecuacion. a21 ´ por a11 , ecuacion a21 x1 +
a21 a21 a21 a12 x2 + · · · + a1n xn = b1 a11 a11 a11
´ se resta de la segunda ecuacion ´ Ahora, esta ecuacion a21 a21 a21 a12 x2 + · · · + a2n − a1n xn = b2 − b1 a22 − a11 a11 a11 ´ Reescribiendo esta ecuacion: (1)
(1)
(1)
a22 x2 + · · · + a2n xn = b2
beamer-tu-log
´ Introduccion
´ de Gauss Eliminacion
Programas MATLAB
´ de Gauss simple Eliminacion
´ hacia adelante de incognitas ´ Eliminacion Paso 1: Eliminar la primera incognita x1 desde la segunda ´ ´ Para esto se multiplica la primera hasta la n-esima ecuacion. a21 ´ por a11 , ecuacion a21 x1 +
a21 a21 a21 a12 x2 + · · · + a1n xn = b1 a11 a11 a11
´ se resta de la segunda ecuacion ´ Ahora, esta ecuacion a21 a21 a21 a12 x2 + · · · + a2n − a1n xn = b2 − b1 a22 − a11 a11 a11 ´ Reescribiendo esta ecuacion: (1)
(1)
(1)
a22 x2 + · · · + a2n xn = b2
beamer-tu-log
´ Introduccion
´ de Gauss Eliminacion
Programas MATLAB
´ de Gauss simple Eliminacion
´ hacia adelante de incognitas ´ Eliminacion Paso 1: Eliminar la primera incognita x1 desde la segunda ´ ´ Para esto se multiplica la primera hasta la n-esima ecuacion. a21 ´ por a11 , ecuacion a21 x1 +
a21 a21 a21 a12 x2 + · · · + a1n xn = b1 a11 a11 a11
´ se resta de la segunda ecuacion ´ Ahora, esta ecuacion a21 a21 a21 a12 x2 + · · · + a2n − a1n xn = b2 − b1 a22 − a11 a11 a11 ´ Reescribiendo esta ecuacion: (1)
(1)
(1)
a22 x2 + · · · + a2n xn = b2
beamer-tu-log
´ Introduccion
´ de Gauss Eliminacion
Programas MATLAB
´ de Gauss simple Eliminacion
´ hacia adelante de incognitas ´ Eliminacion Paso 1: Eliminar la primera incognita x1 desde la segunda ´ ´ Para esto se multiplica la primera hasta la n-esima ecuacion. a21 ´ por a11 , ecuacion a21 x1 +
a21 a21 a21 a12 x2 + · · · + a1n xn = b1 a11 a11 a11
´ se resta de la segunda ecuacion ´ Ahora, esta ecuacion a21 a21 a21 a12 x2 + · · · + a2n − a1n xn = b2 − b1 a22 − a11 a11 a11 ´ Reescribiendo esta ecuacion: (1)
(1)
(1)
a22 x2 + · · · + a2n xn = b2
beamer-tu-log
´ Introduccion
´ de Gauss Eliminacion
Programas MATLAB
´ de Gauss simple Eliminacion
´ hacia adelante de incognitas ´ Eliminacion ´ ´ se Analogamente, para eliminar x1 de la tercera ecuacion a31 ´ por a11 y el resultado se resta de multiplica la primera ecuacion ´ Este proceso se repite con las ecuaciones la tercera ecuacion. restantes y da como resultado el siguiente sistema: a11 x1 + a12 x2 + a13 x3 + · · · + a1n xn = b1 (1) (1) (1) (1) a22 x2 + a23 x3 + · · · + a2n xn = b2 (1) (1) (1) (1) a32 x2 + a33 x3 + · · · + a3n xn = b3 .. .. .. . . . (1) (1) (1) (1) an2 x2 + an3 x3 + · · · + ann xn = bn En el paso anterior: ´ se llama ecuacion ´ pivote, La primera ecuacion a11 se denomina coeficiente pivote, a11 6= 0.
beamer-tu-log
´ Introduccion
´ de Gauss Eliminacion
Programas MATLAB
´ de Gauss simple Eliminacion
´ hacia adelante de incognitas ´ Eliminacion ´ ´ se Analogamente, para eliminar x1 de la tercera ecuacion a31 ´ por a11 y el resultado se resta de multiplica la primera ecuacion ´ Este proceso se repite con las ecuaciones la tercera ecuacion. restantes y da como resultado el siguiente sistema: a11 x1 + a12 x2 + a13 x3 + · · · + a1n xn = b1 (1) (1) (1) (1) a22 x2 + a23 x3 + · · · + a2n xn = b2 (1) (1) (1) (1) a32 x2 + a33 x3 + · · · + a3n xn = b3 .. .. .. . . . (1) (1) (1) (1) an2 x2 + an3 x3 + · · · + ann xn = bn En el paso anterior: ´ se llama ecuacion ´ pivote, La primera ecuacion a11 se denomina coeficiente pivote, a11 6= 0.
beamer-tu-log
´ Introduccion
´ de Gauss Eliminacion
Programas MATLAB
´ de Gauss simple Eliminacion
´ hacia adelante de incognitas ´ Eliminacion ´ ´ se Analogamente, para eliminar x1 de la tercera ecuacion a31 ´ por a11 y el resultado se resta de multiplica la primera ecuacion ´ Este proceso se repite con las ecuaciones la tercera ecuacion. restantes y da como resultado el siguiente sistema: a11 x1 + a12 x2 + a13 x3 + · · · + a1n xn = b1 (1) (1) (1) (1) a22 x2 + a23 x3 + · · · + a2n xn = b2 (1) (1) (1) (1) a32 x2 + a33 x3 + · · · + a3n xn = b3 .. .. .. . . . (1) (1) (1) (1) an2 x2 + an3 x3 + · · · + ann xn = bn En el paso anterior: ´ se llama ecuacion ´ pivote, La primera ecuacion a11 se denomina coeficiente pivote, a11 6= 0.
beamer-tu-log
´ Introduccion
´ de Gauss Eliminacion
Programas MATLAB
´ de Gauss simple Eliminacion
´ hacia adelante de incognitas ´ Eliminacion ´ 2 del sistema Paso 2: Tomando como pivote la ecuacion (1) transformado y a22 como coeficiente pivote, eliminamos x2 de ´ ´ y da como resultado el la tercera hasta la n-esima ecuacion siguiente sistema: a11 x1 + a12 x2 + a13 x3 + · · · + a1n xn = b1 (1) (1) (1) (1) a22 x2 + a23 x3 + · · · + a2n xn = b2 (2) (2) (2) a33 x3 + · · · + a3n xn = b3 .. .. .. . . . (2) (2) (2) an3 x3 + · · · + ann xn = bn
beamer-tu-log
´ Introduccion
´ de Gauss Eliminacion
Programas MATLAB
´ de Gauss simple Eliminacion
´ hacia adelante de incognitas ´ Eliminacion ´ 2 del sistema Paso 2: Tomando como pivote la ecuacion (1) transformado y a22 como coeficiente pivote, eliminamos x2 de ´ ´ y da como resultado el la tercera hasta la n-esima ecuacion siguiente sistema: a11 x1 + a12 x2 + a13 x3 + · · · + a1n xn = b1 (1) (1) (1) (1) a22 x2 + a23 x3 + · · · + a2n xn = b2 (2) (2) (2) a33 x3 + · · · + a3n xn = b3 .. .. .. . . . (2) (2) (2) an3 x3 + · · · + ann xn = bn
beamer-tu-log
´ Introduccion
´ de Gauss Eliminacion
Programas MATLAB
´ de Gauss simple Eliminacion
´ hacia adelante de incognitas ´ Eliminacion ´ n − 1 del Paso n − 1: Tomando como pivote la ecuacion (n−2) sistema trasformado y an−1,n−1 como coeficiente pivote, ´ ´ llegamos a un eliminamos xn−1 de la n-esima ecuacion, sistema triangular superior: a11 x1 + a12 x2 + a13 x3 + · · · + a1n xn = b1 (1) (1) (1) (1) a22 x2 + a23 x3 + · · · + a2n xn = b2 (2) (2) (2) a33 x3 + · · · + a3n xn = b3 .. .. .. . . . (n−1) (n−1) ann xn = bn
beamer-tu-log
´ Introduccion
´ de Gauss Eliminacion
Programas MATLAB
´ de Gauss simple Eliminacion
´ hacia adelante de incognitas ´ Eliminacion ´ n − 1 del Paso n − 1: Tomando como pivote la ecuacion (n−2) sistema trasformado y an−1,n−1 como coeficiente pivote, ´ ´ llegamos a un eliminamos xn−1 de la n-esima ecuacion, sistema triangular superior: a11 x1 + a12 x2 + a13 x3 + · · · + a1n xn = b1 (1) (1) (1) (1) a22 x2 + a23 x3 + · · · + a2n xn = b2 (2) (2) (2) a33 x3 + · · · + a3n xn = b3 .. .. .. . . . (n−1) (n−1) ann xn = bn
beamer-tu-log
´ Introduccion
´ de Gauss Eliminacion
Programas MATLAB
´ de Gauss simple Eliminacion
´ hacia adelante de incognitas ´ Eliminacion (k−1)
(k) aij
=
(k−1) aij
−
aik
(k−1) a , (k−1) kj akk
i, j = k + 1, · · · , n
(k−1)
(k)
bi
(k−1)
= bi
−
aik
(k−1) b , (k−1) k akk
i = k + 1, · · · , n
beamer-tu-log
´ Introduccion
´ de Gauss Eliminacion
Programas MATLAB
´ de Gauss simple Eliminacion
´ hacia adelante de incognitas ´ Eliminacion (k−1)
(k) aij
=
(k−1) aij
−
aik
(k−1) a , (k−1) kj akk
i, j = k + 1, · · · , n
(k−1)
(k)
bi
(k−1)
= bi
−
aik
(k−1) b , (k−1) k akk
i = k + 1, · · · , n
beamer-tu-log
´ Introduccion
´ de Gauss Eliminacion
Programas MATLAB
´ de Gauss simple Eliminacion
´ hacia atras ´ Sustitucion ´ obtenemos la solucion ´ xn : De la ultima ecuacion ´ (n−1)
xn =
bn
(n−1)
ann
El resto de las soluciones xn−1 , xn−2 , · · · , x2 , x1 se pueden ´ esto es: obtener sustituyendo hacia atras, (i−1)
bi xi =
−
n P j=i+1 (i−1) aii
(i−1)
aij
xj , para i = n − 1, n − 2, · · · , 2, 1
beamer-tu-log
´ Introduccion
´ de Gauss Eliminacion
Programas MATLAB
´ de Gauss simple Eliminacion
´ hacia atras ´ Sustitucion ´ obtenemos la solucion ´ xn : De la ultima ecuacion ´ (n−1)
xn =
bn
(n−1)
ann
El resto de las soluciones xn−1 , xn−2 , · · · , x2 , x1 se pueden ´ esto es: obtener sustituyendo hacia atras, (i−1)
bi xi =
−
n P j=i+1 (i−1) aii
(i−1)
aij
xj , para i = n − 1, n − 2, · · · , 2, 1
beamer-tu-log
´ Introduccion
´ de Gauss Eliminacion
Programas MATLAB
´ de Gauss simple Eliminacion
Problema ´ de Gauss para resolver el sistema: Emplear la eliminacion 3 x1 − 0.1 x2 − 0.2 x3 = 7.85 0.1 x1 + 7 x2 − 0.3 x3 = −19.3 0.3 x1 − 0.2 x2 + 10 x3 = 71.4
beamer-tu-log
´ Introduccion
´ de Gauss Eliminacion
Programas MATLAB
´ Topicos
1
´ Introduccion Ecuaciones algebraicas lineales ´ de sistemas de ecuaciones pequenos ˜ Solucion ´ de Gauss Eliminacion
2
´ de Gauss Eliminacion ´ de Gauss simple Eliminacion
3
Programas MATLAB Gauss Simple Gauss con Pivoteo Parcial
beamer-tu-log
´ Introduccion
´ de Gauss Eliminacion
Programas MATLAB
Gauss Simple
Programa MATLAB function gaussv2 ( A , B) % gaussv2 : Nombre de l a f u n c i o n % Nota : Aqui se usa l a m a t r i z ampliada % A : M a t r i z d e l sistema ( M a t r i x cuadrada ) % B : V e c t o r d e l sistema ( V e c t o r columna ) [m, n ] = s i z e (A) ; i f m˜= n , e r r o r ( ’ M a t r i z A debe s e r cuadrada ’ ) ; end nb = n +1; C = [A B ] ; f o r k = 1 : n−1 % Eliminacion hacia adelante f o r i = k +1: n f a c t o r = C( i , k ) /C( k , k ) ; C( i , k : nb ) = C( i , k : nb )−f a c t o r ∗C( k , k : nb ) ; end disp (C) end x = zeros ( n , 1 ) ; % S u s t i t u c i o n hacia atras x ( n ) = C( n , nb ) /C( n , n ) ; S a l i d a 1 = [ ’ x ’ , num2str ( n ) , ’ = ’ , num2str ( x ( n ) ) ] ; disp ( S a l i d a 1 ) f o r i = n−1:−1:1 x ( i ) = (C( i , nb )−C( i , i +1: n ) ∗x ( i +1: n ) ) /C( i , i ) ; S a l i d a 2 = [ ’ x ’ , num2str ( i ) , ’ = ’ , num2str ( x ( i ) ) ] ; disp ( S a l i d a 2 ) end
beamer-tu-log
´ Introduccion
´ de Gauss Eliminacion
Programas MATLAB
Gauss Simple
Problema ´ de Gauss para resolver el sistema: Emplear la eliminacion 3 x1 − 0.1 x2 − 0.2 x3 = 7.85 0.1 x1 + 7 x2 − 0.3 x3 = −19.3 0.3 x1 − 0.2 x2 + 10 x3 = 71.4
beamer-tu-log
´ Introduccion
´ de Gauss Eliminacion
Programas MATLAB
Gauss Simple
Programa MATLAB >> A=[3 −0.1 −0.2;0.1 7 −0.3;0.3 −0.2 1 0 ] ,B= [ 7 . 8 5 ; − 1 9 . 3 ; 7 1 . 4 ] A = 3.0000 −0.1000 −0.2000 0.1000 7.0000 −0.3000 0.3000 −0.2000 10.0000 B = 7.8500 −19.3000 71.4000 >> gaussv2 ( A , B) 3.0000 −0.1000 0 7.0033 0 −0.1900
−0.2000 −0.2933 10.0200
7.8500 −19.5617 70.6150
−0.1000 7.0033 0
−0.2000 −0.2933 10.0120
7.8500 −19.5617 70.0843
3.0000 0 0 x3 = 7 x2 = −2.5 x1 = 3
beamer-tu-log
´ Introduccion
´ de Gauss Eliminacion
Programas MATLAB
Gauss Simple
Problema 4 x1 2 x1
2 x2 + 3 x3 = 8 + 6 x2 + 7 x3 = −3 + x2 + 6 x3 = 5
beamer-tu-log
´ Introduccion
´ de Gauss Eliminacion
Programas MATLAB
Gauss con Pivoteo Parcial
Programa MATLAB function gaussv3 ( A , B) % gaussv3 : Nombre de l a f u n c i o n % Nota : Aqui se usa l a m a t r i z ampliada y con p i v o t e o p a r c i a l % A : M a t r i z d e l sistema ( M a t r i x cuadrada ) % B : V e c t o r d e l sistema ( V e c t o r columna ) [m, n ] = s i z e (A) ; i f m˜= n , e r r o r ( ’ M a t r i z A debe s e r cuadrada ’ ) ; end nb=n +1; C= [A B ] ; f o r k = 1 : n−1 % Eliminacion hacia adelante [ mayor , i ] =max( abs (C( k : n , k ) ) ) % Pivoteo p a r c i a l i p = i +k−1; i f i p ˜= k C ( [ k , i p ] , : ) =C ( [ i p , k ] , : ) end f o r i = k +1: n f a c t o r =C( i , k ) /C( k , k ) ; C( i , k : nb ) =C( i , k : nb )−f a c t o r ∗C( k , k : nb ) ; end disp (C) end x=zeros ( n , 1 ) ; % S u s t i t u c i o n hacia atras x ( n ) =C( n , nb ) /C( n , n ) ; S a l i d a 1 = [ ’ x ’ , num2str ( n ) , ’ = ’ , num2str ( x ( n ) ) ] ; disp ( S a l i d a 1 ) f o r i = n−1:−1:1 x ( i ) =(C( i , nb )−C( i , i +1: n ) ∗x ( i +1: n ) ) /C( i , i ) ; S a l i d a 2 = [ ’ x ’ , num2str ( i ) , ’ = ’ , num2str ( x ( i ) ) ] ; disp ( S a l i d a 2 ) end
beamer-tu-log