Gauss Seidel

download Gauss Seidel

of 21

description

lolossssssddfggghnnnnnnnnn

Transcript of Gauss Seidel

  • MTODO DE GAUSS SEIDEL

  • TEORIAEl mtodo de Gauss Seidel es un mtodo iterativo para resolver sistemas de ecuaciones lineales. Es muy til porque a diferencia del mtodo de Eliminacin de Gauss, podemos resolver sistemas lineales grandes con matrices densas*. Consideremos por ahora el sistema general de tres ecuaciones (naturalmente puede extenderse a cualquier nmero de ecuaciones)

    a11x1 + a12x2 + a13x3 = b1a21x1 + a22x2 + a23x3 = b2a31x1 + a32x2 + a33x3 = b3Con a11, a22 y a33 distintos de cero, ya que son los elementos de la diagonal principal*Una matriz densa tiene pocos ceros como elementos

  • Ahora, sencillamente despejaremos x1 de la primera ecuacin, x2 de la segunda y x3 de la tercera:

    X1 = - a12/a11 (x2) - a13/a11 (x3) + b1/a11

    X2 = -a21/a22(x1) - a23/a22(x3) + b2/a22

    X3= -a31/a33(x1) - a32/a33(x2) + b3/a33

  • Que en forma matricial queda:X1

    X2

    X3= 0 - a12/a11 - a13/a11

    -a21/a22 0 - a23/a22

    -a31/a33 - a32/a33 0X1

    X2

    X3+b1/a11

    b2/a22

    b3/a33

  • Una vez que hemos llegado a la notacin matricial, lo nico que haremos es proponer un vector inicial x(0) que bien podra ser x(0)=0 , o algn otro que sea aproximado al vector solucin x.A partir de un sistema de ecuaciones llegamos a una forma matricial, el siguiente paso consiste en llevar a cabo la Iteracin de Gauss Seidel tambin llamado mtodo de desplazamientos sucesivos.

    En este mtodo los valores que se van calculando en la (k+1)-sima iteracin se emplean para calcular los valores faltantes de esa misma iteracin; es decir, con x(k) se calcula x(k+1) de acuerdo con:

  • Para comenzar el proceso iterativo, le damos un valor inicial a las variables x2, x3, , xn; sustituyendo estos valores en la ecuacin de x1, obtenemos un primer valor para ste; luego utilizamos este nuevo valor para sustituirlo en la siguiente ecuacin y obtener un valor parax2; y continuamos consecutivamente hasta llegar a xn; con esto completamos la primera iteracin.

  • Aplicamos nuevamente las ecuaciones para obtener nuevos valores de x1, x2,,xn completando de esta manera otra iteracin. Este proceso iterativo termina cuando, sacando la diferencia entre cada uno de los valores de la iteracin actual con la anterior, se tiene un valor menor de tolerancia.Veamos ahora con un ejemplo cmo se aplica este mtodo, pero antes sintetizando el mtodo paso a paso, tenemos que:

  • 1. Despejamos de nuestro sistema x1 de la primera ecuacin, x2 de la segunda, etc.2. Proponemos un vector inicial que generalmente es el vector cero.3. Sustituimos x(0) en la 1a ecuacin y obtenemos as un valor para x14. Sustituimos el valor obtenido de x1 en x2 y tambin los valores de x2, x3, x4 del vector inicial.5. Sustituimos ahora el valor de x1, x2 obtenidos en x3 y as sucesivamente tomando los nuevos valores obtenidosPrimera Iteracin

  • Despus de conocer la teora de este mtodo, veamos un Ejemplo 1:Sea el sistema de ecuaciones:

    Queda de esta manera si despejamos x1 de la 1a ecuacin, x2 de la segunda, y x3 de la tercera.

  • *Ahora damos valores iniciales a x2 y x3 de cero y obtenemos un primer valor de x1.** Ahora obtenemos un valor para x2, utilizando x3 y el nuevo valor de x1.*** Y luego para x3, utilizamos los nuevos valores de x1 y x2.

    ******

  • Para la primera iteracin, tenemos que:X1= 1.33333 x2= 3.73333 x3= 0.06667Para la segunda iteracin se usa x2= 3.73333 y x3= 0.06667 para obtener los nuevos valores. Y procedemos de la misma manera que en la iteracin anterior.

  • Ahora calculamos los errores para una tolerancia de 0.1Como los errores obtenidos, en general, son todava grandes, continuamos con la siguiente iteracin, realizando el mismo procedimiento.

  • Continuamos con las iteraciones, calculando en cada una los errores, hasta que lleguemos a la tolerancia pedida, que en este caso se nos pidi fuera de 0.1

  • Entonces tenemos la solucin del sistema de ecuaciones:

    X1= -0.06170 aproximado a 0X2= 5.70263 aproximado a 6X3= -0.78118 aproximado a -1

    Como la tolerancia se cumple en estos tres casos, aqu termina el proceso de iteraciones.

  • Vemoslo ahora para un sistema de 4 ecuaciones con un Ejemplo 2:Tenemos el siguiente sistema:4x1 x2 = 1-x1 +4x2 x3 = 1-x2 +4x3 x4 = 1-x3 -4x4 = 1Despejando x1 de la primera ecuacin, x2 de la segunda, etc,:X1= x2/4 +1/4X2= x1/4 -x3/4 -1/4X3= x2/4 -x4/4 -1/4X4= -x3/4 -1/4

  • Como no tenemos una aproximacin al vector solucin, usamos el vector inicial cero.X1= 0/4 +1/4 = * X2=1/4[(4)] - 0/4 -1/4 = 0.3125 **X3= 0.3125/4 +0/4 +1/4 = 0.3281 ***X4= 0.3281/4 +1/4 =0.3320 ****OJO REVISAR LAS OPERACIONES MATEMATICAS* Primero se sustituye el valor de 0 para x2 en la 1a ecuacin** Para x2 se emplea el valor obtenido de x1 y los dems valores de x2, x3, x4 son cero.*** Con los valores de x1,x2 ya obtenidos y con x3 y x4 nulos, se evala x3**** Finalmente, con los valores de x1, x2, x3 calculados previamente y con x4 nulo, se obtiene el valor de x4.

  • Por lo mientras, hemos obtenido los valores siguientes:X1= 0.25, x2= 0.3125, x3= 0.3281, x4= 0.3320

    Para la segunda iteracin se procede de igual manera:

    X1= 0.3125/4 +1/4 = 0.3281X2= 0.3281/4 +0.3281/4 +1/4 = 0.4141X3= 0.4141/4 +0.3320/4 +1/4 =0.4365X4= 0.4365/4 +1/4 = 0.3591

    Ahora tenemos los siguientes valores para la 2a iteracin:X1= 0.3281, x2= 0.4141, x3= 0.4365 x4= 0.3591

    *Observa las diferencias entre los valores de la 1a y la 2a iteracin

  • Si continuamos con las iteraciones, resulta la siguiente tabla:

    Iteracinx1X2x3X400.00000.00000.00000.000010.25000.31250.32810.332020.32810.41410.43650.359130.35350.44750.45170.362940.36190.45340.45410.363550.36330.45440.45450.363660.36360.45450.45450.3636

  • Observaciones del mtodo (criterios de convergencia)Si la sucesin converge a x, cabe esperar que los elementos de x se vayan acercando a los elementos correspondientes de x.Cuando:Los valores absolutos de x sean todos menores de un nmero pequeo en cuyo valor ser dado por el programador.Si el nmero de iteraciones ha excedido un mximo predeterminado MAXITCon lo cual, el proceso se detendr una ves que x(k+1)x(k) < e

    Ahora veamos cmo quedara el programa en C de este mtodo

  • ANLISISPrimero, tenemos que generalizar las expresiones para el caso de sistemas de n ecuaciones con n incgnitas y hacer el programa que realice estas iteraciones hasta que el error relativo entre 2 iteraciones consecutivas sea menor que una constante EPS, que lo haremos igual a 10-8. El error relativo lo tendremos que medir del siguiente modo:mdulo {x(i+1)} mdulo {x(i)} mdulo {x(i+1)} abs