22
6.3 Eliminaci 6.3 Eliminaci ó ó n de Gauss con pivoteo parcial n de Gauss con pivoteo parcial

Métodos Numéricos 06

Embed Size (px)

DESCRIPTION

Métodos Numéricos 06

Citation preview

Page 1: Métodos Numéricos 06

6.3 Eliminaci6.3 Eliminacióón de Gauss con pivoteo parcialn de Gauss con pivoteo parcial

Page 2: Métodos Numéricos 06

Dificultades en los mDificultades en los méétodos de eliminacitodos de eliminacióónn

DivisiDivisióón entre cero. n entre cero. En el mEn el méétodo de Gauss simple, es posible dividirtodo de Gauss simple, es posible dividirentre cero durante las fases de eliminacientre cero durante las fases de eliminacióón hacia delante y sustitucin hacia delante y sustitucióónnhacia atrhacia atráás. Por ejemplo, si se utiliza el ms. Por ejemplo, si se utiliza el méétodo de Gauss simple paratodo de Gauss simple pararesolver:resolver:

22··xx22 + 3+ 3··xx33 = 8= 844··xx11 + 6+ 6··xx22 + 7+ 7··xx33 = = --3322··xx11 + x+ x22 + 6+ 6··xx33 = 5= 5En la normalizaciEn la normalizacióón del primer rengln del primer renglóón habrn habráá una divisiuna divisióón entre an entre a1111 = 0. = 0. TambiTambiéén pueden presentarse problemas cuando an pueden presentarse problemas cuando a1111 es cercano aes cercano aceroceroLa tLa téécnica de pivoteo se ha desarrollado para evitar en forma parcialcnica de pivoteo se ha desarrollado para evitar en forma parcialééstos problemas.stos problemas.

Page 3: Métodos Numéricos 06

Errores de redondeo. Errores de redondeo. Las computadoras manejan sólo un númerolimitado de cifras significativas. El problema llega a ser particularmenteimportante cuando el número de ecuaciones es grande. Un error enlos primeros pasos tiende a propagarse en los siguientes pasos.

Sistemas mal condicionados. Sistemas mal condicionados. Los sistemas bien condicionados sonaquellos en los que un pequeño cambio en uno o mas coeficientesprovoca un cambio similarmente pequeño en la solución. Los sistemasmal condicionados son aquellos en donde pequeños cambios en loscoeficientes generan grandes cambios en la solución.Un sistema mal condicionado es aquel en el que su determinante escercano a cero.

Page 4: Métodos Numéricos 06

Sistemas singulares. Sistemas singulares. Un sistema de ecuaciones puede estar malUn sistema de ecuaciones puede estar malcondicionado cuando dos o mcondicionado cuando dos o máás de las ecuaciones son casi ids de las ecuaciones son casi idéénticas. nticas. Obviamente aObviamente aúún es peor cuando las dos son idn es peor cuando las dos son idéénticas. Se pierde unnticas. Se pierde ungrado de libertad y se dargrado de libertad y se daríía un caso imposible de na un caso imposible de n--1 ecuaciones con n1 ecuaciones con nincincóógnitas. gnitas. Tales casos podrTales casos podríían no ser obvios, en particular cuandoan no ser obvios, en particular cuandose enfrenta con grandes sistemas de ecuaciones. En consecuenciase enfrenta con grandes sistemas de ecuaciones. En consecuencia,,serseríía a úútil tener una forma de detectar la singularidad de maneratil tener una forma de detectar la singularidad de maneraautomautomáática.tica.

Page 5: Métodos Numéricos 06

EvaluaciEvaluacióón de determinantes usando la eliminacin de determinantes usando la eliminacióón de Gaussn de Gauss

Ejercicio Demostrar que el determinante de una matriz triangulaEjercicio Demostrar que el determinante de una matriz triangular es el r es el producto de los elementos de su diagonalproducto de los elementos de su diagonal

Recuerde que el paso de eliminaciRecuerde que el paso de eliminacióón hacia delante de la eliminacin hacia delante de la eliminacióónnde Gauss genera un sistema triangular superior. Puesto que el vde Gauss genera un sistema triangular superior. Puesto que el valoralordel determinante no cambia con el proceso de eliminacidel determinante no cambia con el proceso de eliminacióón hacian haciadelante, simplemente el determinante se evaldelante, simplemente el determinante se evalúúa al final de a al final de ééste pasoste pasopor medio depor medio deD = aD = a1111 aa2222’’ aa3333’’’’ …… aannnn

(n(n--1)1)

Hay una ligera modificaciHay una ligera modificacióón cuando el programa usa pivoteo parcialn cuando el programa usa pivoteo parcialD = aD = a1111 aa2222’’ aa3333’’’’ …… aannnn

(n(n--1)1) ((--1)1)pp

Donde p representa el nDonde p representa el núúmero de veces en que los renglones semero de veces en que los renglones sepivotean. pivotean.

Page 6: Métodos Numéricos 06

TTéécnicas para mejorar las solucionescnicas para mejorar las solucionesUso de mUso de máás cifras significativas. s cifras significativas. El remedio mEl remedio máás simple para el mals simple para el malcondicionamiento consiste en emplear mcondicionamiento consiste en emplear máás cifras significativas para loss cifras significativas para losccáálculos.lculos.

Pivoteo.Pivoteo. Como se mencionComo se mencionóó, ocurren problemas obvios cuando el, ocurren problemas obvios cuando elelemento pivote es cero, ya que se origina una divisielemento pivote es cero, ya que se origina una divisióón entre cero. Porn entre cero. Porlo tanto antes de normalizar cada rengllo tanto antes de normalizar cada renglóón resulta convenienten resulta convenientedeterminar el coeficiente mdeterminar el coeficiente máás grande disponible en la columna debajos grande disponible en la columna debajodel elemento pivote. Los renglones se pueden intercambiar de madel elemento pivote. Los renglones se pueden intercambiar de maneraneraque el elemento mque el elemento máás grande sea el elemento pivote; esto se conoces grande sea el elemento pivote; esto se conocecomo pivoteo parcial. como pivoteo parcial.

Page 7: Métodos Numéricos 06

Escalamiento. Escalamiento. El escalamiento resulta El escalamiento resulta úútil para la estandarizacitil para la estandarizacióón deln deltamatamañño del determinante. Mo del determinante. Máás alls alláá de de éésta aplicacista aplicacióón tiene utilidad enn tiene utilidad enla minimizacila minimizacióón de los errores de redondeon de los errores de redondeo

Page 8: Métodos Numéricos 06

PseudocPseudocóódigo para implementar el pivoteo parcialdigo para implementar el pivoteo parcialP=kP=kBig = |aBig = |ak,kk,k||DO ii=k+1DO ii=k+1

dummy = |adummy = |aii,kii,k| | IF (dummy>big)IF (dummy>big)

big = dummybig = dummyp = iip = ii

END IFEND IFEND DOEND DOIF (pIF (p≠≠k)k)

DO jj = k, nDO jj = k, ndummy = adummy = ap,jjp,jjaap,jjp,jj = a= ak,jjk,jjak,jj = dummyak,jj = dummy

END DOEND DOdummy = bpdummy = bpbp = bkbp = bkbk = dummybk = dummy

END IFEND IF

Page 9: Métodos Numéricos 06

6.4 M6.4 Méétodo de Gausstodo de Gauss--SeidelSeidel

Page 10: Métodos Numéricos 06

El mEl méétodo de Gausstodo de Gauss--Seidel es el mSeidel es el méétodo iterativo mtodo iterativo máás coms comúúnmentenmenteusado. Suponga que se da un sistema de n ecuaciones:usado. Suponga que se da un sistema de n ecuaciones:

[A][X]=[B][A][X]=[B]

Suponga que se limita a un sistema de 3 por 3. Si los elementosSuponga que se limita a un sistema de 3 por 3. Si los elementos dedeLa diagonal no son todos cero, la primera ecuaciLa diagonal no son todos cero, la primera ecuacióón se puede resolvern se puede resolverpara xpara x11, la segunda para x, la segunda para x22 y la tercera para xy la tercera para x33, para obtener, para obtener

33

23213131

22

32312122

11

31321211

axaxab

x

axaxab

x

axaxab

x

−−=

−−=

−−=

Page 11: Métodos Numéricos 06

Ahora se puede empezar el proceso de soluciAhora se puede empezar el proceso de solucióón al escoger valoresn al escoger valoresiniciales para las x. Una forma simple para obtener los valoresiniciales para las x. Una forma simple para obtener los valores inicialesinicialeses suponer que todos son cero. Estos ceros se sustituyen en lases suponer que todos son cero. Estos ceros se sustituyen en lasecuaciones anteriores y se utilizan para calcular un nuevo valorecuaciones anteriores y se utilizan para calcular un nuevo valor dedexx11=b=b11/a/a1111. Despu. Despuéés se sustituye s se sustituye ééste nuevo valor de xste nuevo valor de x11 junto con eljunto con elvalor previo de cero de xvalor previo de cero de x33 y se calcula el nuevo valor de xy se calcula el nuevo valor de x22. Este. Esteproceso se repite para calcular un nuevo valor de xproceso se repite para calcular un nuevo valor de x33. Se repite el. Se repite elprocedimiento hasta que la soluciprocedimiento hasta que la solucióón converja suficientemente cerca den converja suficientemente cerca delos valores verdaderos. La convergencia se verifica usando el clos valores verdaderos. La convergencia se verifica usando el criterioriterio

sji

ji

ji

ia xxx

εε <−

=−

%1001

,

Page 12: Métodos Numéricos 06

Ejemplo MEjemplo Méétodo de Gausstodo de Gauss--SeidelSeidelPlanteamiento del problemaPlanteamiento del problema. Use el m. Use el méétodo de Gausstodo de Gauss--Seidel Seidel para obtener la solucipara obtener la solucióón del sisteman del sistema33··xx11 –– 0.10.1··xx22 –– 0.20.2··xx33 = 7.85= 7.850.10.1··xx11 + 7+ 7··xx22 --0.30.3··xx33 = = --19.319.30.30.3··xx11 –– 0.20.2··xx22 + 10+ 10··xx33 = 71.4= 71.4

Page 13: Métodos Numéricos 06

Criterio de convergencia para el mCriterio de convergencia para el méétodo de Gausstodo de Gauss--SeidelSeidelPara asegurar la convergencia del mPara asegurar la convergencia del méétodo de Gausstodo de Gauss--Seidel, elSeidel, elcoeficiente diagonal en cada una de las ecuaciones debe ser mayocoeficiente diagonal en cada una de las ecuaciones debe ser mayorrque la suma del valor absoluto de los otros coeficientes de laque la suma del valor absoluto de los otros coeficientes de laecuaciecuacióón.n.

Este criterio es suficiente pero no necesario para la convergencEste criterio es suficiente pero no necesario para la convergencia. ia. La convergencia se garantiza cuando se satisface la restricciLa convergencia se garantiza cuando se satisface la restriccióón. An. Alos sistemas que cumplen con la restriccilos sistemas que cumplen con la restriccióón se le conoce comon se le conoce comodiagonalmente dominantes.

∑≠=

>n

ijj

jiij aa1

,

diagonalmente dominantes.

Page 14: Métodos Numéricos 06

Mejoramiento de la convergencia usando relajaciMejoramiento de la convergencia usando relajacióónnLa relajaciLa relajacióón representa una ligera modificacin representa una ligera modificacióón al mn al méétodo de Gausstodo de GaussSeidel y Seidel y éésta permite mejorar la convergencia. Despusta permite mejorar la convergencia. Despuéés de que ses de que secalcula cada nuevo valor de x, calcula cada nuevo valor de x, éése valor se modifica mediante unse valor se modifica mediante unpromedio ponderado de los resultados de las iteraciones anteriorpromedio ponderado de los resultados de las iteraciones anterior yyactualactual

xxiinuevo nuevo = = λλ xxii

nuevonuevo + (1+ (1--λλ)x)xiianterioranterior

Donde Donde λλ es un factor ponderado que tiene un valor entre 0 y 2.es un factor ponderado que tiene un valor entre 0 y 2.Si Si λ λ tiene un valor entre 0 y 1, el resultado es un promedio ponderadtiene un valor entre 0 y 1, el resultado es un promedio ponderado. o. ÉÉste tipo de modificaciste tipo de modificacióón se conoce como n se conoce como subrelajacisubrelajacióónn..Para valores Para valores λλ de 1 a 2, se le da una ponderacide 1 a 2, se le da una ponderacióón extra al valor actual. n extra al valor actual. A A ééste tipo de modificaciste tipo de modificacióón se le conoce como n se le conoce como sobrerelajacisobrerelajacióónn..

Page 15: Métodos Numéricos 06

PseudocPseudocóódigodigo

DODOcentinela=1centinela=1DO i=1,nDO i=1,n

old=xold=xiisum=bsum=biiDO j=1,nDO j=1,n

IF iIF i≠≠j THENj THENsum=sumsum=sum--aai,ji,j··xxjj

END IFEND IFEND DOEND DOxxii=lambda=lambda··sumsum--(1(1--lambda)lambda)··oldoldIF centinela=1 AND xIF centinela=1 AND xii≠≠0 THEN 0 THEN

ea=ABS((xiea=ABS((xi--old)/xi)*100old)/xi)*100IF ea>es THEN centinela=0IF ea>es THEN centinela=0

END IFEND IFEND DOEND DOiter=iter+1iter=iter+1IF centinela=1 OR iterIF centinela=1 OR iter≥≥imax EXIT imax EXIT

END DOEND DOEND Gseid

SUB Gseid (a,s,n,x,imax,es,lambda)SUB Gseid (a,s,n,x,imax,es,lambda)DO i=1,nDO i=1,n

dummy=adummy=ai,ii,iDO j=1,nDO j=1,n

aai,ji,j = a= ai,ji,j / dummy/ dummyEND DOEND DObbii = b= bii / dummy/ dummy

END DOEND DODO i=1,nDO i=1,n

sum = bsum = biiDO j=1,nDO j=1,n

IF iIF i≠≠j THENj THENsum=sumsum=sum--aai,ji,j··xxjj

END IFEND IFEND DOEND DOxxii=sum=sum

END DOEND DOiter=1iter=1

END Gseid

Page 16: Métodos Numéricos 06

Funciones de Matlab para anFunciones de Matlab para anáálisis matriciallisis matricial

FunciFuncióónn DescripciDescripcióónnrankrank NNúúmero de renglones o columnas mero de renglones o columnas

linealmente independienteslinealmente independientesdetdet DeterminanteDeterminante

tracetrace Suma de los elementos en la Suma de los elementos en la diagonaldiagonal

rrefrref Forma escalonada reducida por Forma escalonada reducida por renglonesrenglones

orthorth OrtogonalizaciOrtogonalizacióónninvinv Matriz inversaMatriz inversatriltril Matriz triangular inferiorMatriz triangular inferiortriutriu Matriz triangular superiorMatriz triangular superior

Page 17: Métodos Numéricos 06

EjerciciosEjercicios

1.1. Emplee el mEmplee el méétodo de Gausstodo de Gauss--seidel con relajaciseidel con relajacióón para resolver n para resolver ((λλ=0.9, =0.9, εεss=5%)=5%)--55··xx11 + 12+ 12··xx33 = 80= 8044··xx11 -- xx22 –– xx33 = = --2266··xx11 + 8+ 8··xx22 = 45= 45

2.2. Resolver el problema anterior usando el mResolver el problema anterior usando el méétodo de eliminacitodo de eliminacióón n de Gauss con pivoteo parcialde Gauss con pivoteo parcial

Page 18: Métodos Numéricos 06

3. En la figura se muestran tres reactores conectados por tuberías. Como se indica, la velocidad de transferencia de las sustancias químicas a través de cada tubería es igual a la velocidad de flujo (Q, en unidades de metros cúbicos por segundo) multiplicada por la concentración del reactor de donde proviene el flujo (c, en unidades de miligramos por metro cúbico). Si el sistema se encuentra en un estado estacionario, la transferencia hacia dentro de cada reactor se equilibrará con la transferencia hacia fuera. Desarrolle las ecuaciones del balance de masa para los reactores y resuelva lasecuaciones algebraicas para calcular las concentraciones.

400 mg/s

Q21·c2

Q12·c1

Q13·c1

Q23·c2

Q33·c3

200 mg/s

1

2

3

Q33=120Q13=40Q12=80Q23=60Q21=20

Page 19: Métodos Numéricos 06

4. 4. Un proceso de extracciUn proceso de extraccióón en etapas se ilustra en la figura. En estos n en etapas se ilustra en la figura. En estos sistemas, una corriente que contiene una fraccisistemas, una corriente que contiene una fraccióón de peso Yn de peso Yentradaentradade una sustancia qude una sustancia quíímica que entra desde la izquierda con una mica que entra desde la izquierda con una velocidad de flujo de masa Fvelocidad de flujo de masa F11. En forma simult. En forma simultáánea un solvente nea un solvente que tiene una fraccique tiene una fraccióón de peso xn de peso xentradaentrada de la misma sustancia de la misma sustancia ququíímica entra desde la derecha con una velocidad de flujo Fmica entra desde la derecha con una velocidad de flujo F22. As. Asííen la etapa i, un balance de masa se representa comoen la etapa i, un balance de masa se representa comoFF11YYii--11+F+F22XXi+1i+1=F=F11YY11+F+F22XX11

En cada etapa, se supone que se establece un equilibrio entEn cada etapa, se supone que se establece un equilibrio entre Yre Yii y y XXii asasíí

Donde K se denomina coeficiente de distribuciDonde K se denomina coeficiente de distribucióón. Reemplazando, n. Reemplazando, se obtienese obtiene

i

i

YX

K =

01 11

21

1

21 =⎟⎟

⎞⎜⎜⎝

⎛+⎟⎟

⎞⎜⎜⎝

⎛+− +− ii YK

FF

YKFF

Y

Page 20: Métodos Numéricos 06

Si FSi F11=400 kg/h, Y=400 kg/h, Yentradaentrada=0.1, F=0.1, F22=800 kg/h, X=800 kg/h, Xentradaentrada=0 y K=5. Determine=0 y K=5. Determinelos valores de Ylos valores de Ysalidasalida y Xy Xsalidasalida si se usa un reactor de etapassi se usa un reactor de etapas

F2

1 2

Xsalida

Yentrada

X2 X3

Y1 Y2

iXi Xi+1

Yi-1 Yi

n-1 nXn-1 Xn Xentrada

Yn-2 Yn-1 Ysalida

F1

Page 21: Métodos Numéricos 06

5.5. Una reacciUna reaccióón irreversible de primer orden tiene lugar en cuatro n irreversible de primer orden tiene lugar en cuatro reactores bien mezcladosreactores bien mezcladosAA→→BBLa velocidad a la cual A se transforma en B se represenLa velocidad a la cual A se transforma en B se representa comota comoRRabab=kVc=kVcLos reactores tienen diferentes volLos reactores tienen diferentes volúúmenes y como se operan a menes y como se operan a temperatura diferentes, cada uno tiene una velocidad de reaccitemperatura diferentes, cada uno tiene una velocidad de reaccióón n diferente:diferente:

Determine la concentraciDetermine la concentracióón de A y B, en estado estacionario, n de A y B, en estado estacionario, para cada uno de los reactores

ReactorReactor V,LV,L K,hK,h--11

11 2525 0.050.0522 7575 0.10.133 100100 0.50.544 2525 0.10.1

para cada uno de los reactores

Page 22: Métodos Numéricos 06

1 2 3 4Qentrada=10cA,entrada = 1

Q32=5

Q43=3