Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Gauss Seidel y Jacobi
Gauss Seidel y Jacobi
Se realiza cuantas iteraciones se desee, usando como valores iniciales los nuevos valores
hallados. Se puede detener la ejecucin del algoritmo al calcular el error del clculo, el cual
lo podemos hallar con esta frmula: sqr( (x1-x0)^2 + (y1-y0)^2 +(z1-z0)^2 )
Con jacobi
Con Gauss-Seidel
=(3+2*D5-E5)/5
=(C5-3*E5-2)/-7
=(1-2*C5+D5)/8
=RAIZ((C6-C5)^2 + (D6-D5)^2 + (E6-E5)^2)
Que corresponde a la variable X,Y,Z y Error respectivamente.
Y para el mtodo de Gauss-Seidel:
=(3+2*J5-K5)/5
=(I6-3*K5-2)/-7
=(1-2*I6+J6)/8
=RAIZ((I6-I5)^2 + (J6-J5)^2 + (K6-K5)^2)
El cdigo fuente y el ejecutable del programa en visual basic 6 puede ser descargado de
AC
La clave del comprimido es
476 visitas
Rating:
Tell a
Friend
OBJETIVO GENERAL:
Comprender las diferentes formas de solucionar sistemas de ecuaciones lineales por medio de los
mtodos de descomposicin LU y Gauss-Seidel.
OBJETIVOS ESPECFICOS:
Proporcionar al estudiante una idea clara y comprensible de los mtodos de descomposicin LU y
Gauss-Seidel.
Mostrar cmo aplicar los mtodos mencionados para facilitar la solucin de sistemas de
ecuaciones, y poder as programar dichos mtodos en la computadora.
DESCOMPOSICIN LU
Su nombre se deriva de las palabras inglesas Lower" y Upper, que en espaol se traducen como
Inferior y Superior. Estudiando el proceso que se sigue en la descomposicin LU es posible
comprender el por qu de este nombre, analizando cmo una matriz original se descompone en
dos matrices triangulares, una superior y otra inferior.
La descomposicin LU involucra solo operaciones sobre los coeficientes de la matriz [A],
proporcionando un medio eficiente para calcular la matriz inversa o resolver sistemas de lgebra
lineal.
Primeramente se debe obtener la matriz [L] y la matriz [U].
[L] es una matriz diagonal inferior con nmeros 1 sobre la diagonal. [U] es una matriz diagonal
superior en la que sobre la diagonal no necesariamente tiene que haber nmeros 1.
El primer paso es descomponer o transformar [A] en [L] y [U], es decir obtener la matriz triangular
inferior [L] y la matriz triangular superior [U].
PASOS PARA ENCONTRAR LA MATRIZ TRIANGULAR SUPERIOR (MATRIZ [U])
1. Hacer cero todos los valores abajo del pivote sin convertir este en 1.
2. Para lograr lo anterior se requiere obtener un factor el cual es necesario para convertir a cero los
valores abajo del pivote.
3. Dicho factor es igual al nmero que se desea convertir en cero entre el nmero pivote.
4. Este factor multiplicado por -1 se multiplica luego por el pivote y a ese resultado se le suma el
valor que se encuentra en la posicin a cambiar (el valor en la posicin que se convertir en cero).
Esto es:
- factor * pivote + posicin a cambiar
PASOS PARA ENCONTRAR LA MATRIZ TRIANGULAR INFERIOR (MATRIZ [L])
Para encontrar la matriz triangular inferior se busca hacer ceros los valores de arriba de cada
pivote, as como tambin convertir en 1 cada pivote. Se utiliza el mismo concepto de factor
explicado anteriormente y se ubican todos los factores debajo de la diagonal segn corresponda
en cada uno.
Esquemticamente se busca lo siguiente:
Debido a que [A] = [L][U], al encontrar [L] y [U] a partir de [A] no se altera en nada la ecuacin y se
tiene lo siguiente:
NOTA: Recurdese que si la matriz es 2x2 se har 1 iteracin; si es 3x3, 2 iteraciones; si es 4x4, 3
iteraciones; y as sucesivamente.
SOLUCIN:
ITERACIN 1
factor 1 = (a21 / a11) = 5 / 4 = 1.25
factor 2 = (a31 / a11) = 1 / 4 = 0.25
Encontrando [U]
fila 2 = - (factor 1) * (fila 1) + (fila 2)
fila 3 = - (factor 2) * (fila 1) + (fila 3)
a11 = a11
a12 = a12
a13 = a13
a21 = - (1.25) * (4) + (5) = 0
a22 = - (1.25) * (- 2) + (1) = 3.5
a23 = - (1.25) + (- 1) + (- 1) = 0.25
a31 = - (0.25) * (4) + (1) = 0
a32 = - (0.25) * (- 2) + (2) = 2.5
a33 = - (0.25) * (- 1) + (- 1) = - 0.75
Encontrando [L]
ITERACIN 2
factor 3 = (u32 / u22) = 2.5 / 3.5 = 0.7142857143
Encontrando [U]
fila 3 = - (factor 3) * (fila 2) + (fila 3)
a31 = - (2.5 / 3.5) * (0) + (0) = 0
a32 = - (2.5 / 3.5) * (3.5) + (2.5) = 0
a33 = - (2.5 / 3.5) * (0.25) + (- 0.75) = - 0.9285714286
Encontrando [L]
Al resolver el sistema anterior, se obtienen los siguientes valores para y1, y2 y y3:
El ltimo paso es resolver Ux = y para encontrar la matriz x. En otras palabras es como que se
pidiera resolver el siguiente sistema de ecuaciones, encontrando los valores de x1, x2 y x3:
Este es finalmente el valor de x1, x2 y x3; es decir, la respuesta del ejercicio utilizando la
descomposicin LU.
EJEMPLO 2 DE DESCOMPOSICIN LU
PROBLEMA: Encontrar los valores de x1, x2 y x3 para el siguiente sistema de ecuaciones:
SOLUCIN:
ITERACIN 1
factor 1 = (a21 / a11) = 5/11 = 0.4545454545
Encontrando [L]
ITERACIN 2
factor 3 = (u32/u22) = - 5.909090909 / - 0.6363636365 = 9.285714284
Encontrando [U]
fila 3 = - (factor 3) * (fila 2) + (fila 3)
a31 = - (9.285714284) * (0) + (0) = 0
a32 = - (9.285714284) * (- 0.6363636365) + (- 5.909090909) = 0
a33 = - (9.285714284) * (- 7.0909090919) + (2.7272727272) = 68.57142857
Encontrando [L]
Al resolver el sistema anterior, se obtienen los siguientes valores para y1, y2 y y3:
El ltimo paso es resolver Ux = y para encontrar la matriz x. En otras palabras es como que se
pidiera resolver el siguiente sistema de ecuaciones, encontrando los valores de x1, x2 y x3:
Este es finalmente el valor de x1, x2 y x3; es decir, la respuesta del ejercicio utilizando la
descomposicin LU.
MTODO DE GAUSS-SEIDEL
El mtodo de Gauss-Seidel es un mtodo iterativo y por lo mismo resulta ser bastante eficiente. Se
comienza planteando el sistema de ecuaciones con el que se va a trabajar:
De la ecuacin 1 despejar x1, de la ecuacin 2 despejar x2, , de la ecuacin n despejar xn. Esto
da el siguiente conjunto de ecuaciones:
Este ltimo conjunto de ecuaciones son las que forman las frmulas iterativas con las que se va a
estar trabajando. Para comenzar el proceso iterativo, se le da el valor de cero a las variables x2,,
xn; esto dar un primer valor para x1. Ms precisamente, se tiene que:
Enseguida, se sustituye este valor de x1 en la ecuacin 2, y las variables x3,, xn siguen teniendo
el valor de cero. Esto da el siguiente valor para x2:
Estos ltimos valores de x1 y x2, se sustituyen en la ecuacin 3, mientras que x4,, xn siguen
teniendo el valor de cero; y as sucesivamente hasta llegar a la ltima ecuacin. Todo este paso
arrojar una lista de primeros valores para las incgnitas, la cual conforma el primer paso en el
proceso iterativo. Para una mejor comprensin esto se simbolizar de esta forma:
Se vuelve a repetir el proceso, pero ahora sustituyendo estos ltimos datos en vez de ceros como
al inicio. Se obtendr una segunda lista de valores para cada una de las incgnitas, lo cual se
simbolizar as:
En este momento se pueden calcular los errores aproximados relativos, respecto a cada una de las
incgnitas. La lista de errores se presenta a continuacin:
hasta que:
SOLUCIN:
Primero se despejan las incgnitas x1, x2 y x3 de las ecuaciones 1, 2 y 3 respectivamente. Se
tiene:
Puesto que todava no se puede calcular ningn error aproximado, se repite el proceso pero ahora
con los ltimos datos obtenidos para las incgnitas:
Ahora se pueden calcular los errores absolutos para cada una de las incgnitas:
Puesto que no se ha logrado el objetivo, se debe repetir el mismo proceso con los ltimos valores
obtenidos de cada una de las incgnitas. Ntese que aunque el error aproximado ya cumple con
ser menor al 1%, esto se debe cumplir para los tres errores aproximados. Por lo tanto se repite el
mismo proceso. Omitiendo los pasos intermedios, se obtiene:
Se puede observar que ahora se ha cumplido el objetivo para cada uno de los errores
aproximados. Por lo tanto, se concluye que la solucin aproximada es:
La condicin de ser una matriz diagonalmente dominante simplemente significa que los elementos
de la diagonal son mayores (en valor absoluto) que la suma de los valores absolutos de los dems
elementos del mismo rengln. Ntese que en el ejemplo anterior, la matriz s es diagonalmente
dominante y por lo tanto, el mtodo de Gauss-Seidel s converge a la solucin del sistema.
Sin embargo, la condicin de la matriz diagonalmente dominante, solamente es una condicin
suficiente pero no necesaria, es decir, existen sistemas de ecuaciones que no cumplen con la
condicin y que s convergen a la solucin y tambin existen sistemas de ecuaciones que no
cumplen con la condicin y que no convergen a la solucin.
Finalmente, obsrvese que aunque un sistema no cumpla con la condicin de ser diagonalmente
dominante, es posible a veces, lograr que s se cumpla con esta condicin mediante un intercambio
de renglones, como se ver en el siguiente ejemplo:
EJEMPLO 2 DEL MTODO DE GAUSS-SEIDEL
PROBLEMA: Usar el mtodo de Gauss-Seidel para aproximar la solucin del sistema:
SOLUCIN:
En este caso se puede observar que el sistema no es diagonalmente dominante, lo cual se
comprueba con los siguientes clculos:
Primera fila:
|a11| > (|a12| + |a13|)
5 > (1.4 + 2.7)
5 > 4.1; es cierto.
La condicin se cumple para la primera fila.
Segunda fila:
|a22| > (|a21| + |a23|)
2.5 > (0.7 + 15)
2.5 > 15.7; no es cierto.
La condicin no se cumple para la segunda fila.
Puesto que slo se tiene la primera aproximacin de la solucin del sistema, se debe seguir
Ahora se pueden calcular los errores aproximados para cada una de las incgnitas:
Cuarta iteracin:
As, el objetivo se ha logrado hasta la cuarta iteracin y se tiene que los valores aproximados de la
solucin del sistema son:
CONCLUSIN
Luego de haber estudiado a profundidad estos temas o herramientas para resolver sistemas de
ecuaciones, se concluye que para resolver estos sistemas de ecuaciones lineales existen
diferentes mtodos, pero depender del gusto de cada persona elegir uno en especfico. Sin
embargo, muchas veces la eleccin no ser arbitraria, pues cada mtodo tiene sus ventajas y sus
desventajas. Algunos mtodos son ms exactos, otros ms fciles de programar, otros ms cortos,
etc. Para ser capaces de elegir un mtodo apropiado, lo primero que se necesita es comprender
cmo se desarrolla cada uno de estos procesos.
Luego de la elaboracin de este reporte, ya se tiene una buena base y el conocimiento de los
temas para poder comenzar a programar en la computadora estos procesos. Como se mencion
en la introduccin, los dos mtodos estudiados en este trabajo son ideales para programarlos por
computadora, pues son iterativos y muy largos. Trabajar esto en papel podra resultar
extremadamente largo y tedioso. Por ello son mtodos ideales para trabajarlos en computadora.
El aprendizaje adquirido en esta investigacin ha sido de gran valor y seguramente servir de la
misma manera a aquellos quienes posteriormente lean estas explicaciones y lo expuesto en este
reporte.
BIBLIOGRAFA
1. C. Chapra, S.; P. Canale, R. Mtodos Numricos para Ingenieros. (3 ed.). McGrawHill.
2. Factorizacin LU. Wikipedia. Extrado el 22 Enero, 2007, de
http://es.wikipedia.org/wiki/Factorizaci%C3%B3n_LU
3. MTOTO DE GAUSS-SEIDEL. Universidad Autnoma de Ciudad Jurez (UACJ). Extrado el 22
Enero, 2007, de http://docentes.uacj.mx/gtapia/AN/Unidad3/Seidel/SEIDEL.htm
AUTOR
Mtodo de Gauss-Seidel
Anuncios Google
Aprender Ingls
www.GanandoConIngles.com - Busca una Perfecta Pronunciacin? Aqu
Tiene la Respuesta. Descbrala
Desde la formula anterior resultan las frmulas que se debern ir aplicando en las diferentes
iteraciones. Para comenzar a aplicar el mtodo debemos asignar un valor arbitrario a las
variables x2,xn con el fin de obtener x1. Lo mas conveniente en este caso es que los
valores comiencen en cero, lo cual nos facilitara el trabajo ya que se reduce el clculo de
las primeras soluciones, entonces de esto resulta que:
Una vez que tenemos x2, despejamos x3 de la ecuacin 3 y as sucesivamente con las 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 solucin o
solucin de la primer iteracin:
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 solucin:
Al tener esta segunda solucin estamos en condiciones de calcular el error que se calcula
como sigue:
As, repetimos el mtodo tantas veces hasta que el error sea muy pequeo o los
suficientemente aceptable.
Ahora solo queda mencionar que para que un sistema sea convergente se debe cumplir que
la matriz de coeficientes sea diagonalmente dominante, y para ello se debe verificar la
siguiente expresin:
Si no se cumple esa condicin, se puede permutar las filas de la matriz, con el fin de poder
convertirla en una diagonalmente dominante.
Ahora mostrar un ejemplo, mediante el uso de un programa hecho en Visual Basic que
hice para aplicar el mtodo. El programa podr ser descargado desde aqui. Para que todos
los puedan ver y tratar de entender el funcionamiento del mtodo.
Al iniciar el programa indico 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:
Se puede apreciar que la norma infinito no las muestra en notacin cientfica, ya que es un
error muy pequeo.
Tambin el programa tiene la opcin de guardar todas las iteracciones que hizo, hasta llegar
a la ultima, esta opcin es muy til ya que se pude ver como fueron variando las soluciones
hasta llegar a la ltima iteraccin indicada, a medida que se hacen mas iteracciones, mas
precisa es la solucin.
Para finalizar, aqu muestro la secuencia que me arroj el programa para este ejemplo:
Resolucion de Sistema de Ecuaciones Lineales
-------------------------------------------Matriz A
-------9 -3 2
-5 25 3
-4 2 11
Matriz B
--------9
2
15
-------------------------------------------Solucion N:1
------------
X1=-1
X2=-0,12
X3= 1,02181818181818
Norma Infinito: 1,02181818181818
Solucion N:2
X1=-1,26707070707071
X2=-0,296032323232323
X3= 0,956707438016529
Norma Infinito: 0,267070707070707
Solucion N:3
X1=-1,31127909397
X2=-0,297060711355984
X3= 0,940818640621087
Norma Infinito: 4,42083868992962E-02
Solucion N:4
X1=-1,30809104614557
X2=-0,294516446103644
X3= 0,941515337056819
Norma Infinito: 3,18804782443349E-03
Solucion N:5
X1=-1,30739777915829
X2=-0,294461396278475
X3= 0,941757425083982
Norma Infinito: 6,93266987283891E-04
Solucion N:6
X1=-1,30743322655593
X2=-0,294497536321264
X3= 0,941751106038073
Norma Infinito: 3,61400427889014E-05
Solucion N:7
X1=-1,30744386900444
X2=-0,294498906525456
X3= 0,941747485184833
Norma Infinito: 1,06424485053491E-05
Solucion N:8
X1=-1,30744352110511
X2=-0,294498402443203
X3= 0,941747520042359
Norma Infinito: 5,04082253327542E-07
Solucion N:9
X1=-1,30744336082381
X2=-0,294498374569846
X3= 0,941747573258585
Norma Infinito: 1,60281300898291E-07
Solucion N:10
X1=-1,30744336335852
X2=-0,294498381462735
X3= 0,941747573590125
Norma Infinito: 6,89288898181317E-09
8
Mtodo De Gauss-Seidel
Mtodo de Gauss-Seidel
La iteracin de Gauss-Seidel se define al tomar Q como la parte triangular
inferior de A incluyendo los elementos de la diagonal:
Si, como en el caso anterior, definimos la matriz R=A-Q
y la ecuacin se puede escribir en la forma:
Qx(k) = -Rx(k-1) + b
http://www.uv.es/diaz/mn/node36.html
UNIVERSIDAD AUSTRAL DE
INSTITUTO DE INFORMATICA
CAMPUS PUERTO MONTT, CHILE
PROGRAMA QUE IMPLEMENTA EL METODO DE GAUSS SEIDEL CON PIVOTEO
PARA LA ASIGNATURA DE SOFTWARE NUMERICO.
CREADO POR VICTOR MUNZENMAYER A.
#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