Metodo de Gauss Seidel-exposicion
Short Description
Download Metodo de Gauss Seidel-exposicion...
Description
INTRODUCCIÓN
En el pres presen ente te docum documen ento to se expl explic ica a deta detall llad adam amen ente te El Método de Gauss-Seidel Gauss- Seidel.. Este es uno uno de los métod métodos os mas interesan interesantes tes siendo siendo una herramienta importante del análisis numérico y particualme lmente útil ya que nos permite encontrar la solución de un sistema de “n” ecuaciones con “n” incógnitas.
Normalme Normalmente nte este tema tema tiene tiene procesos procesos largos largos y por ello ello son ideales para programar por computadora a través de programa programass como como Mat. Mat. LAB y visual visual Basic Basic y no no solam solamente ente para para hace hacerl rlos os sob sobre el pap papel. el. Prog Progra ram mar esto estoss tem temas permite incluso obtener una mejor comprensión de la teoría aquí presentada. presentada.
OBJETIVOS OBJETIVO GENERAL
Comprender las diferentes formas de solucionar sistemas de ecuaciones lineales por medio del método de descomposición de Gauss-Seidel.
OBJETIVOS ESPECÍFICOS
tener una idea clara y comprensible del método de descomposición de Gauss-Seidel.
Mostrar cómo aplicar el método ya mencionado para facilitar la solución de sistemas de ecuaciones Elaborando ejercicios con los conocimientos obtenidos respecto al tema .
Método de gauss Seidel en análisis numérico el método de gauss-Seidel es un método iterativo utilizado para resolver sistemas de ecuaciones lineales este método es similar al método de Jacobi. Mientras que en el de Jacobi se utiliza el valor de las incógnitas para determinar una nueva aproximación, en el de Gauss-Seidel se va utilizando los valores de las incógnitas recién calculados en la misma iteración, y no en la siguiente. Es un método iterativo, lo que significa que se parte de una aproximación inicial y se repite el proceso hasta llegar a una solución con un margen de error tan pequeño como se quiera. Bien proseguiré con la explicación del método y luego aclararé los detalles necesarios para determinar la eficacia del mismo. Teniendo el siguiente sistema de ecuaciones:
Despejamos x1 de la ecuación 1, x2 de la ecuación 2,…, xn de la ecuación n, quedando:
Desde la formula anterior resultan las fórmulas que se deberán ir aplicando en las diferentes iteraciones. Para comenzar a aplicar el método debemos asignar un valor arbitrario a las variables x2,…xn con el fin de obtener x1.
Lo más conveniente en este caso es que comiencen en cero, lo cual nos facilitaría el trabajo ya que se reduce el cálculo de las primeras soluciones, entonces de esto resulta que:
Ahora despejamos x2 de la ecuación 2 y reemplazamos a x1 por el valor obtenido en la ecuación anterior. De esto nos queda:
Una vez que tenemos x2, despejamos x3 de la ecuación 3 y así sucesivamente con la n ecuaciones, cada vez asignando el valor de las x1, x2,… xn-1 obtenido en el paso anterior. Cuando hemos despejado las xn, tenemos lo que se conoce como primera solución o solución de la primera iteración:
Con los nuevos valores de x1, x2,…,xn aplicamos los mismos pasos anteriores pero con los nuevos valores de las xn, de esta manera conseguimos una segunda solución:
Al tener esta segunda solución estamos en condiciones de calcular el error que se calcula como sigue:
EJEMPLO 1 DEL MÉTODO DE GAUSS-SEIDEL
PROBLEMA:
Usar el método de Gauss-Seidel para aproximar la solución del sistema:
Hasta que: SOLUCIÓN: Primero se despejan las incógnitas x1, x2 y x3 de las ecuaciones 1, 2 y 3 respectivamente. Se tiene:
Estas son el juego de fórmulas iterativas que se estará utilizando.
Se comienza el proceso iterativo.
sustituyendo los valores de x2 = x3 = 0 en la primera ecuación, para calcular el valor de x1:
Ahora se sustituye para obtener x2:
y x3 = 0 en la segunda ecuación
Ahora se sustituye ecuación para obtener x3:
y
Así se tiene la primera aproximación a la solución del sistema:
en la tercera
Puesto que todavía no se puede calcular ningún error aproximado, se repite el proceso pero ahora con los últimos datos obtenidos para las incógnitas:
Sustituyendo
y
Sustituyendo
Finalmente, sustituyendo ecuación 3 se obtiene
en la ecuación 1 se obtiene
y
en la ecuación 2 se obtiene y
en la
.
Es así como se tiene la segunda lista de valores de aproximación a la solución del sistema:
Ahora se pueden calcular los errores absolutos para cada una de las incógnitas:
Ya que no se ha logrado el objetivo se debe repetir el mismo proceso con los últimos valores obtenidos omitiendo los pasos intermedios,
Nótese que aunque el error aproximado ya cumple con ser menor al 1%, esto se debe cumplir para los tres errores aproximados:
En este caso se tienen los siguientes errores aproximados:
Se puede observar que ahora se ha cumplido el objetivo para cada uno de los errores aproximados. Por lo tanto, se concluye que la solución aproximada es:
Programa para resolver el método de gauss seidel Ahora mostraré un ejemplo, mediante el uso de un programa hecho en Visual Basic para aplicar el método. El programa podrá ser descargado desde aqui. Para que todos los puedan ver y tratar de entender el funcionamiento del método.Al iniciar el programa índico que la matriz de coeficientes es de 3 filas y 3 columnas (la matriz siempre tiene que ser cuadrada). Entonces supongamos los siguientes coeficientes:
Luego cargo la matriz “b” que es la que contiene el valor de los resultados de las ecuaciones:
Hago clic en el botón verificar convergencia y si el programa me dice que se verifica, indico cuantas iteraciones quiero realizar y pulso en el botón “Calcular solución”. De esta forma el programa me arroja la solución del sistema (el valor de x1, x2,…xn) y me muestra el error, denominado por el programa como “Norma Infinito”.
Se puede apreciar que la norma infinito no las muestra en notación científica, ya que es un error muy pequeño. También el programa tiene la opción de guardar todas las iteraciones que hizo, hasta llegar a la última.
Codificación del programa #include #include #include #include #define L 10 #define P L float A[L][P],MATRIZ[L][P],VECTOR[L],X[L],CX[L],C[L],RESULTADOS[L],tabla[1000]; float a, b, c, d, e, f; int it,ini,n,x,y,z,cont=0; void Gauss_Seidel(int n) { for(x=0;x
View more...
Comments