Uploaded by nisbel peralta

Parte3

advertisement
Análisis
Numérico
Parte 3
E. T. S. I. Caminos, Canales y Puertos
1
Sistemas de ecuaciones
•
En la parte 2 hemos tratado de determinar el valor de x, que satisface
f(x)=0. Es este tema trataremos de obtener los valores x1,x2, xn, que
de forma simultánea satisfacen un conjunto de ecuaciones.
•
Tales sistemas pueden ser lineales o no lineales, en este tema
tratamos los sistemas lineales.
E. T. S. I. Caminos, Canales y Puertos
2
Sistemas de ecuaciones
•
•
Donde a y b son coeficientes constantes, y n es el número de
ecuaciones.
Muchas de las ecuaciones fundamentales de la ingeniería están
basadas en leyes de conservación, algunas de las cantidades que
conforman esas leyes son la masa, la energía, … En términos
matemáticos, esos principios nos conducen a ecuaciones de balance
o de continuidad que relacionan el comportamiento del sistema en
referencia a la cantidad sujeta a modelamiento, con los estímulos
externos que actúan sobre el sistema.
E. T. S. I. Caminos, Canales y Puertos
3
Sistemas de ecuaciones
•
Las matrices son conjuntos rectangulares de elementos
representados por un solo símbolo. Si el conjunto es horizontal, se
llama vector fila, si es vertical se llama vector columna.
Columna 3
Fila 2
Vector
columna
Vector fila
E. T. S. I. Caminos, Canales y Puertos
4
Sistemas de ecuaciones
•
Hay diferentes formas especiales de matrices cuadradas que son
especiales:
Matriz simétrica
Matriz diagonal
E. T. S. I. Caminos, Canales y Puertos
Matriz identidad
Matriz triangular
superior
5
Sistemas de ecuaciones
Matriz triangular inferior
Matriz banda
Todos los elementos son iguales a
cero excepto una banda centrada
alrededor de la diagonal principal. La
matriz en cuestión tiene un ancho de
banda de 3, y recibe un nombre
especial. Matriz tridiagonal.
E. T. S. I. Caminos, Canales y Puertos
Semiancho de banda
6
Sistemas de ecuaciones
Producto matricial:
•
Dimensiones del
resultado
Representación matricial de un sistema.
E. T. S. I. Caminos, Canales y Puertos
7
Sistemas de ecuaciones
•
Resolución gráfica: los sistemas de ecuaciones son hiperplanos
(rectas, planos,…). La solución de un sistema es por tanto la
intersección de esos hiperplanos.
Sistema compatible
determinado, vectores
linealmente independientes.
Solución única. Determinante
de A distinto de cero.
E. T. S. I. Caminos, Canales y Puertos
8
Sistemas de ecuaciones
Sistema incompatible, vectores
linealmente dependientes.
Determinante de A igual a cero. No
existe solución.
Sistema compatible indeterminado,
vectores linealmente dependientes.
Determinante de A igual a cero.
Existen infinitas soluciones.
E. T. S. I. Caminos, Canales y Puertos
9
Sistemas de ecuaciones
Sistema compatible determinado,
vectores linealmente independientes.
Determinante de A distinto de cero pero
muy cercano a cero. Existe solución,
pero no de forma clara. Por eso en un
problema mal condicionado que produce
errores numéricos.
E. T. S. I. Caminos, Canales y Puertos
10
Sistemas de ecuaciones
•
Método de eliminación de Gauss simple- el método de Gauss comprende
dos fases: eliminación hacia delante de las incógnitas para reducir el sistema
(matriz A) en uno triangular superior.
Ecuación
pivote
resto
pivote
•
Primero elimino la incógnita x1. Para ello multiplico la primera fila por -a21/a11
y se la sumo a la segunda. Y así sucesivamente con todas las filas (n-1
veces) hasta que sólo la primera ecuación tenga la incógnita x1.
E. T. S. I. Caminos, Canales y Puertos
11
Sistemas de ecuaciones
•
Repito esta operación con todas variables xi, hasta que obtengo una matriz
triangular superior.
•
A continuación resuelvo el sistema por sustitución hacia atrás.
•
El número de operaciones (FLOPS) que se realizan con el método de Gauss
son:
Paso 1
E. T. S. I. Caminos, Canales y Puertos
Paso 2
12
Sistemas de ecuaciones
•
•
•
De aquí se sacan dos conclusiones:
1. Cuando el sistema aumenta de tamaño el tiempo de resolución aumenta
considerablemente.
2. El esfuerzo de mejora se ha de centrar en el proceso de eliminación.
Problemas del método de Gauss:
1. Si el elemento pivote es cero, se produce una división por cero.
2. Conforme aumenta el tamaño del sistema (n>100) aumentan los errores
de redondeo por el gran incremento de operaciones a realizar.
Técnicas para mejorar las soluciones:
1. Uso de doble precisión en los cálculos.
2. Uno de los problemas de la técnica de Gauss es que el elemento pivote
sea cero, o cercano a cero. Ya que esto puede producir errores de
redondeo. Por eso es ventajoso determinar el coeficiente más grande
disponible debajo de la columna pivote, e intercambiar filas para que este
elemento sea el pivote.
E. T. S. I. Caminos, Canales y Puertos
13
Sistemas de ecuaciones
Esto se conoce como pivoteo parcial. Si además de buscar elemento
más grande por filas, lo hago también por columnas se conoce como
pivoteo total. Normalmente no se hace pivoteo total porque introduce
una gran complejidad en el método.
3. Escalamiento, si antes de realizar el pivoteo normalizo los elementos por
el elemento máximo de la fila pivote, minimizo los errores de redondeo.
Esto es conveniente en determinados problemas de ingeniería en los que
se usan unidades diferentes en cálculos simultáneos.
Un problema añadido del escalamiento es que puede introducir errores de
redondeo por si mismo, por lo que es habitual hacer un escalamiento
simulado de la fila pivote. Con el valor del pivote temporal obtenido realizo el
pivoteo parcial, y si tengo que intercambiar filas lo hago con la fila original de
antes del escalado.
A continuación se explica el pseudocódigo para implementar el método de
Gauss con pivotaje parcialmente escalado.
•
•
•
E. T. S. I. Caminos, Canales y Puertos
14
Sistemas de ecuaciones
•
•
•
•
•
Entrada: matriz de coeficientes a(n,n), y vector de términos independientes
b(n).
Paso 1: Almacene en un vector s(n) los valores máximos de cada fila
(ecuación)
Paso 2: Para k=1, …, n-1 hacer los pasos 3-8. (Eliminación)
– Paso 3: Para j=k, …, n. Determino en la columna k, el mayor valor del
cociente a(j,k)/s(j). Si el cociente es menor que una tolerancia prefijada el
sistema es singular o mal condicionado, salir
– Paso 4: Si k distinto de j, intercambio las filas para el proceso de
eliminación
– Paso 5: para i=k+1, …, n hacer los pasos 6-8
• Paso 6: Calcular el coeficiente para pivotar m=a(i,k)/a(k,k)
• Paso 7: Para j=k+1, …, n a(i,j)=a(i,j)-m*a(k,j)
• Paso 8: b(i)=b(i)-m*b(k)
Paso 9: Si a(n,n)=0, no existe solución única. Salir.
Paso 10: De i=n-1, …,1 sustitución hacia atrás. x(n)=b(n)/a(n,n)
– Paso 11: De j=i+1,n b(i)=b(i)-a(i,j)*x(j)
– Paso 12: x(i)=b(i)/a(i,i). Salida del resultado x.
E. T. S. I. Caminos, Canales y Puertos
15
Sistemas de ecuaciones
•
•
•
Método de Gauss-Jordan- el método de Gauss-Jordan es una variación del
método de Gauss. La principal diferencia es que en este método cada vez
que se realiza el paso de eliminación, se hace con todas las ecuaciones, no
sólo con las de debajo de la fila pivote. Además, ésta también se normaliza.
El resultado es una matriz unidad, en vez de una triangular superior. Y la
solución del sistema queda directamente almacenada en el vector b
transformado.
Todo lo relativo a mejoras es igual que en el método de Gauss. Pero el
problema de este método es que requiere aproximadamente un 50% más de
operaciones, por lo que se prefiere el de Gauss como método de eliminación.
Los dos métodos que hemos visto están encuadrados dentro los llamados
métodos de eliminación. Pasaremos a continuación a describir una serie de
técnicas que se llaman de descomposición.
E. T. S. I. Caminos, Canales y Puertos
16
Sistemas de ecuaciones
•
Descomposición LU- la descomposición LU es un método que se ayuda de
las técnicas de eliminación para transformar la matriz A en un producto de
matrices triangulares. Esto es especialmente útil para la resolución de
sistemas con diferentes vectores b, ya que la descomposición de A me sirve
para evaluar de forma eficiente por sustitución hacia delante y hacia atrás
todos los sistemas.
A = L U
E. T. S. I. Caminos, Canales y Puertos
17
Sistemas de ecuaciones
A = L U
Descomposición
U X = D
Sustitución
A X = B
Sistema inicial
L U X = B
Sistema transformado 1
L D = B
Sistema transformado 2
X
Sustitución hacia atrás
D
Sustitución hacia adelante
E. T. S. I. Caminos, Canales y Puertos
18
Sistemas de ecuaciones
•
•
La descomposición LU está muy relacionada con el método de Gauss, ya que
en éste último el objetivo era transformar el sistema en uno triangular
superior, que es uno de los objetivos de la descomposición LU. Por tanto,
sólo queda saber de donde obtenemos la matriz triangular inferior.
Paradójicamente, durante el proceso de eliminación de Gauss se obtiene la
matriz L, pero pasa desapercibida y no se utiliza. Si recordamos, cuando
realizamos el proceso de pivoteo, multiplicamos la fila pivote por un factor, y
posteriormente se lo restábamos a la fila que queríamos transformar. Ese
factor una vez usado se perdía. Pues bien, colocando convenientemente esos
factores, se obtiene la matriz L.
resto
E. T. S. I. Caminos, Canales y Puertos
19
Sistemas de ecuaciones
resto
resto
E. T. S. I. Caminos, Canales y Puertos
20
Sistemas de ecuaciones
•
El algoritmo de descomposición LU requiere menos FLOPS que Gauss
porque no trabaja con el vector b.
•
La fase de sustitución si que requiere mayor esfuerzo, ya que hay que hacer
sustitución hacia delante y hacia atrás. Por tanto, en el cómputo global el
número de operaciones es el mismo que el de Gauss.
E. T. S. I. Caminos, Canales y Puertos
21
Sistemas de ecuaciones
•
•
•
Los mismos problemas que se planteaban en Gauss surgen en la
descomposición LU, y la forma de resolverlos es exactamente la misma.
Hay dos tipos de descomposición LU, la de Doolittle, en la que la matriz L
tiene los unos sobre la diagonal (la que hemos visto). Y la de Crout, en la que
es la matriz U la que tiene los unos sobre la diagonal. Aunque hay algunas
diferencias entre estas aproximaciones, su comportamiento es comparable.
El pseudocódigo de la descomposición LU, es muy similar a la
descomposición de Gauss, pero tiene 4 características que vale la pena
mencionar:
– Los factores de la fase de eliminación se guardan en la parte inferior de la
matriz.
– Mantiene el pivoteo pero sin intercambio de filas, disponemos de un
vector con el orden de pivoteo.
– Las ecuaciones no están escaladas pero se usan valores escalados para
determinar la fila pivote.
– Se controla el término de la diagonal principal para comprobar si la matriz
es singular o está mal condicionada.
E. T. S. I. Caminos, Canales y Puertos
22
Sistemas de ecuaciones
•
•
•
•
•
•
•
Entrada: matriz de coeficientes a(n,n), y vector de términos independientes b(n).
Paso 1: Almacene en un vector s(n) los valores máximos de cada fila (ecuación), y en
o(n) el orden inicial de las ecuaciones.
Paso 2: Para k=1, …, n-1 hacer los pasos 3-7. (Eliminación)
–
Paso 3: Para j=k, …, n. Determino en la columna k, el mayor valor del cociente
a(o(j),k)/s(o(j)). Si el cociente es menor que una tolerancia prefijada el sistema es
singular o mal condicionado, salir
–
Paso 4: Si k distinto de j, intercambio los elementos del vector o.
–
Paso 5: para i=k+1, …, n hacer los pasos 6-7
•
Paso 6: Calcular el coeficiente para pivotar m=a(o(i),k)/a(o(k),k), y lo almaceno en
a(o(i),k).
•
Paso 7: Para j=k+1, …, n a(o(i),j)=a(o(i),j)-m*a(o(k),j)
Paso 8: Si a(n,n)=0, no existe solución única. Salir
Paso 10: Se obtiene la matriz P, y se cambia la A=P*A. Lo mismo con B=P*B.
Paso 11: De i=2, …,n sustitución hacia adelante. d(1)=b(1)
–
Paso 12: De j=1,i-1 b(i)=b(i)-a(i,j)*b(j)
Paso 13: De i=n-1, …,1 sustitución hacia atrás. x(n)=b(n)/a(n,n)
–
Paso 14: De j=i+1,n b(i)=b(i)-a(i,j)*x(j)
–
Paso 15: x(i)=b(i)/a(i,i). Salida del resultado x.
E. T. S. I. Caminos, Canales y Puertos
23
Sistemas de ecuaciones
•
Inversa: una de las ventajas de la descomposición LU, es que se puede
hacer el cálculo de la inversa de una forma muy sencilla.
E. T. S. I. Caminos, Canales y Puertos
24
Sistemas de ecuaciones
•
•
•
Por tanto lo que se hace es realizar la descomposición LU de la matriz A, y
resolver n subsistemas por sustitución hacia delante y hacia atrás. En cada
uno de estos subsistemas el vector de términos independientes es la i-ésima
columna de la matriz identidad.
La interpretación física de la inversa es muy clarificadora. La mayoría de los
sistemas lineales usados en ingeniería se derivan de las leyes de
conservación, y la expresión matemática de esas leyes es un balance para
asegurar la conservación de una determinada propiedad (masa, fuerza,
energía, …). Así por ejemplo en una estructura, tendríamos el balance de
fuerzas en cada nodo. Para un balance de masa podría ser la masa que hay
en cada reactor de un proceso químico,…
Si escribimos una ecuación simple de balance para cada una de las partes
que componen el sistema, obtendríamos un conjunto de ecuaciones que
definen el comportamiento de la propiedad para todo el sistema. Estas
ecuaciones además están interrelacionadas ya que los componentes
interactúan entre ellos. Por tanto el vector X incógnita representa el valor de la
propiedad tratada en cada parte del sistema. Y el vector B contiene los
elementos del balance independientes del sistema, es decir los estímulos
externos.
E. T. S. I. Caminos, Canales y Puertos
25
Sistemas de ecuaciones
•
Si calculamos la inversa del sistema, es decir de la matriz A se obtiene un
resultado muy interesante.
•
Además de calcular el valor de la propiedad estudiada en los elementos del
sistema, cada elemento aik-1 representa el valor de la propiedad, o la
respuesta del sistema en el elemento i, cuando otra parte del sistema, el
elemento k recibe un estímulo exterior unitario.
E. T. S. I. Caminos, Canales y Puertos
26
Sistemas de ecuaciones
•
•
Además, como las formulaciones son lineales se puede aplicar:
– Principio de superposición, que implica que si un sistema está sometido a
distintos estímulos, se pueden obtener las respuestas individualmente y
posteriormente sumarlas.
– Proporcionalidad, que supone que si multiplicamos un estímulo por una
cantidad fija, los resultados del sistema se multiplican por esa cantidad.
La inversa, además nos proporciona un medio para discernir si un sistema
está mal condicionado:
– Escalando la matriz A de forma que el elemento mayor sea igual a 1. Se
invierte la matriz escalada y si hay elementos de la matriz A-1 de varios
órdenes de magnitud mayor que la unidad, es probable que el sistema
esté mal condicionado.
– Multiplicar la inversa por la matriz A original, y comprobar si el resultado
está lo suficientemente cercano a la matriz identidad.
– Invertir la matriz inversa y estimar si el resultado está lo suficientemente
cercano a la matriz original A.
E. T. S. I. Caminos, Canales y Puertos
27
Sistemas de ecuaciones
•
•
Sin embargo, sería preferible obtener una medida más simple para conocer el
condicionamiento de un sistema. Esto se hace mediante las normas
matriciales.
Normas matriciales, son funciones de valor real que proporcionan una
medida del tamaño o longitud de un vector.
– Normas Euclidianas
Frobenius
–
Normas p, así la norma 2 es igual a la Euclidiana
–
Norma vector-uniforme o de magnitud-máxima
E. T. S. I. Caminos, Canales y Puertos
28
Sistemas de ecuaciones
–
Norma de fila-suma
–
Norma de columna-suma
•
Número de condición de una matriz es el valor
•
Este número será mayor o igual que uno, y se puede demostrar que se
cumple:
E. T. S. I. Caminos, Canales y Puertos
29
Sistemas de ecuaciones
•
Que implica que el error relativo en la norma del vector calculado X puede ser
tan grande como el error relativo de la norma de los coeficientes de A
multiplicada por el número de condición. Por tanto cuanto mayor sea el
número condición mayores pueden ser los errores en la solución calculada y
el sistema estará mal condicionado.
E. T. S. I. Caminos, Canales y Puertos
30
Sistemas de ecuaciones
•
•
Como hemos visto, la interpretación de los sistemas de ecuaciones en
ingeniería es clara. Tratan de resolver balances de magnitudes que queremos
estudiar, y que actúan y se relacionan en un conjunto interconectado de
elementos. Por tanto si bien la actuación de un estímulo sobre uno de los
componentes puede actuar sobre todos los demás, el cálculo de esa afección
no se efectúa directamente entre el elemento afectado, y el elemento en el
que deseamos conocer la respuesta. Sino que se produce un mecanismo de
transferencia de información entre los componentes. Esto que en principio
puede parecer complicado tiene una interpretación lógica y sencilla.
Supongamos que tenemos un sistema de ecuaciones que simula el
comportamiento de una estructura articulada
4
2
1
1
E. T. S. I. Caminos, Canales y Puertos
3
2
4
7
5
3
5
6
31
Sistemas de ecuaciones
•
•
•
•
Tiene 5 nodos, y 7 barras. Si actúa una carga externa vertical sobre el nodo 2,
el sistema va a reaccionar y todos los componentes o muchos de ellos se
verán influenciados. Pero por ejemplo para calcular la reacción vertical en el
nodo 5, no hay una conexión directa entre este nodo y el 2, sino que recibe la
influencia por medio de los nodos 3 y 4, que están conectados al 5 por las
barras 6 y 7. A su vez los nodos 3 y 4 reciben la influencia directa de los
nodos 1 y 2, y el 1 la influencia del 2.
Por tanto se aprecia como se establece un mecanismo de transferencia
interno.
Esta cualidad se traduce en los sistemas de ecuaciones que modelizan el
comportamiento de sistemas físicos, en que las matrices A tienen forma
bandeada, con muchos ceros en las ecuaciones, ya que la influencia directa
de unos elementos sobre otros es limitada.
Otra ventaja adicional es que debido al teorema de Maxwell o de reciprocidad,
la influencia directa de un elemento sobre otro es la misma que la que
ejercería éste último sobre el primero. Que se traduce en que la mayoría de
los sistemas que tenemos que resolver son simétricos.
E. T. S. I. Caminos, Canales y Puertos
32
Sistemas de ecuaciones
•
BW y HBW designan el ancho de banda y el semiancho de banda.
HBW+1
Diagonal principal
HBW
ceros
BW
ceros
E. T. S. I. Caminos, Canales y Puertos
33
Sistemas de ecuaciones
•
•
•
A simple vista queda claro que esta disposición facilita, por medio de técnicas
especiales, la resolución de los sistemas de una forma más efectiva que si la
matriz fuera completa.
Sistemas tridiagonales- aquellos cuyo ancho de banda es 3
La numeración permite un almacenaje mucho más efectivo. En cuanto a la
resolución se utiliza el algoritmo de Thomas, adaptación de la
descomposición LU para este caso.
E. T. S. I. Caminos, Canales y Puertos
34
Sistemas de ecuaciones
•
Algoritmo:
–
–
–
Descomposición: de k=2,…,n. e(k)= e(k)/f(k-1) y f(k)=f(k)-e(k)g(k-1)
Sustitución hacia delante: de k=2,…,n r(k)= r(k)-e(k)r(k-1)
Sustitución hacia atrás: x(n)=r(n)/f(n) de k=n-1,…,1 x(k)=(r(k)g(k)x(k+1))/f(k)
Forma compacta del sistema
E. T. S. I. Caminos, Canales y Puertos
35
Sistemas de ecuaciones
•
Descomposición de Cholesky- esta técnica se usa en el caso de
que la matriz A sea simétrica, que como hemos dicho antes se da en
muchas ocasiones en los problemas de ingeniería. Se basa en el
hecho de que cualquier matriz simétrica se puede descomponer como
•
Multiplicando e igualando entre si los términos tenemos
E. T. S. I. Caminos, Canales y Puertos
36
Sistemas de ecuaciones
•
•
•
•
•
Entrada: matriz de coeficientes a(n,n), simétrica y definida positiva .
Paso 1: Genero la primera fila de la matriz triangular superior solución L.
L(1,1)=sqrt(a(1,1)), para k=2,…,n, L(1,k)= a(1,k)/L(1,1).
Paso 2: Para i=1, …, n-1 hacer los pasos 3-4.
– Paso 3: Para k=1, …, i-1. Acumulo el siguiente sumatorio L(i,i)= L(i,i)L(k,i)^2. Si el valor de L(i,i)<0, la matriz a no es definida positiva, se sale
del programa. Sino, L(i,i)=sqrt(L(i,i)).
– Paso 4:Para j=i+1,…,n, para k=1,…,i-1, acumula en L(i,j)=a(i,j)L(k,i)*L(k,j), después del k, divide L(i,j)= L(i,j)/L(i,i).
Paso 6: calculamos L(n,n), paso 3 con i=n.
Salida: una matriz triangular superior L, si la multiplicamos L’*L
obtenemos a.
E. T. S. I. Caminos, Canales y Puertos
37
Sistemas de ecuaciones
•
La descomposición de Cholesky, sólo se puede aplicar para matrices
simétricas y definidas positivas. Es decir tales que:
•
Para todos los vectores X distintos de cero. Si se cumple, no se dará
el caso de obtener una raíz negativa durante la ejecución del
programa. Por tanto si se da es porque la matriz A no es definida
positiva. Otra ventaja de las matrices definidas positivas es que no
requiere el pivoteo para evitar divisiones por cero. Por lo que se
puede implementar el algoritmo sin la complicación del pivoteo.
E. T. S. I. Caminos, Canales y Puertos
38
Sistemas de ecuaciones
•
•
Métodos iterativos: son una alternativa a los métodos de
eliminación, y son muy similares a los métodos usados para la
obtención de raíces de una ecuación simple.
Método de Gauss-Seidel-es el más comúnmente usado
E. T. S. I. Caminos, Canales y Puertos
39
Sistemas de ecuaciones
•
Por tanto el método comienza con un valor de las variables xi=0, entro en la
primera ecuación y despejo x1. Con este valor de x1, entro en la segunda,
obtengo una aproximación de x2. Con estos valores entro en la tercera, y así
sucesivamente hasta que la solución converja lo suficiente. Esto se logra
comprobando en una pasada completa por todo el sistema que el mayor valor
del error aproximado relativo sea menor que un valor epsilon prefijado.
•
Un planteamiento alternativo es el método de Jacobi, lo que hace es calcular
un conjunto de valores aproximados para todo el vector x, y con ese valor
entra en la siguiente iteración. Aún así el método de Gauss-Seidel funciona
mejor.
E. T. S. I. Caminos, Canales y Puertos
40
Sistemas de ecuaciones
Gauss-Seidel
Primera iteración
Jacobi
Segunda iteración
E. T. S. I. Caminos, Canales y Puertos
41
Sistemas de ecuaciones
•
Convergencia del método- para que el método converja es condición
necesaria que los sistemas sean diagonalmente dominantes, que por suerte
en ingeniería son los más abundantes.
E. T. S. I. Caminos, Canales y Puertos
42
Sistemas de ecuaciones
•
Una manera de acelerar la convergancia del método de Gauss-Seidel es
usando la relajación. Esto es modificando el valor nuevo con un promedio
ponderado.
•
Lambda es un factor entre 0 y 2. Si lambda es igual a uno el resultado no se
modifica. Si es menor que 1, el resultado es un promedio del resultado
antiguo y el nuevo (subrelajación), se emplea para que un sistema no
convergente converja, u amortigüe sus oscilaciones. Si lambda es mayor que
1, se da una ponderación extra al nuevo valor (sobrerrelajación) con lo que
los sistemas convergentes aceleran su convergencia.
E. T. S. I. Caminos, Canales y Puertos
43
Sistemas de ecuaciones
•
•
•
Entrada: matriz de coeficientes a(n,n), y vector de términos independientes
b(n). Número máximo de iteraciones (niter), error relativo máximo (es),
parámetro para la relajación (lambda). Como solución inicial tomamos
x=(0,…,0)T.
Paso 1: Normalizo todas la ecuaciones dividiendo sus elementos por el
elemento que está en la diagonal principal. Para i=1,…,n dummy=a(i,i),
b(i)=b(i)/dummy, para j=1,…,n, a(i,j)= a(i,j)/dummy,
Paso 2: Mientras iter sea menor niter y sentinel=0 hacer los pasos 3-6.
– Paso 3: sentinel=1.
– Paso 4: Para i=1, …, n. old=x(i), x(i)=b(i), de j=1,…n, si i distinto de j,
x(i)=x(i)-a(i,j)*x(j). Salgo del j, x(i)=x(i)*lambda+(1-lambda)*old
– Paso 5: Si sentinel =1, y x(i) distinto de cero
•
•
ea=abs((x(i)-old)/x(i)), si ea>es entonces sentinel=0.
– Paso 6: iter=iter+1.
Salida: el vector x solución del sistema.
E. T. S. I. Caminos, Canales y Puertos
44
Download