ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

SISTEMAS DE ECUACIONES LINEALES: METODOS ITERATIVOS


Enviado por   •  23 de Octubre de 2017  •  Práctica o problema  •  940 Palabras (4 Páginas)  •  280 Visitas

Página 1 de 4

TALLER DE METODOS NUMÉRICOS

PRACTICA 6. “SISTEMAS DE ECUACIONES LINEALES: METODOS ITERATIVOS”

NOMBRE: _Calderón Roque Cristopher Joaquín_

1. ¿Qué diferencia hay entre el método de Jacobi y el Gauss Seidel?

Gauss Seidel: Cada valor de xi  calculado se introduce inmediatamente en la siguiente ecuación

Jacobi: Emplea una táctica levemente usan las ecuaciones (1),(2), y (3) para calcular un conjunto de nuevas x con base en un conjunto de x anteriores .Así los nuevos valores no se usan inmediatamente, sino se guardan hasta la próxima iteración.

[pic 1]

[pic 2]

2. ¿Qué condición debe cumplirse para que se pueda utilizar estos métodos?

1.- Ser estrictamente diagonal dominante.

La matriz sea estrictamente dominante diagonalmente por filas (E.D.D. por filas), es decir, para todo i desde 1 hasta n que es el tamaño de la matriz A:

[pic 3]

Es decir, el elemento de la diagonal correspondiente a la fila i debe ser mayor a la suma de los elementos de esa fila i.

2.- Ser simétrica y definida positiva.

A partir de la siguiente identidad:

[pic 4]

Donde D corresponde a la matriz formada por los elementos de la diagonal de A (D=diag(a11a22, ..., ann)), -L corresponde a la matriz triangular inferior obtenida de la parte triangular estrictamente inferior de A, y -U corresponde a la matriz triangular superior obtenida de la parte triangular estrictamente superior de A, se puede deducir la fórmula vectorial de este método:

[pic 5]k = 1, 2, ...

De donde BG (conocida como la matriz de iteración de Gauss-Seidel) es (D-L)-1U. Para que el método de Jacobiconverja hacia una solución,

[pic 6], para una norma matricial inducida.

  1. ρ(BG), que corresponde al máximo de los valores absolutos de las raíces de la ecuación característica de la matriz BG (det(BG - λI)) es menor que 1.

3. ¿Qué ventaja y que desventaja presenta este método?

Un elemento en contra que tienen los métodos iterativos sobre los métodos directos es que calculan aproximaciones a la solución.

los métodos iterativos se calculan aproximaciones a la solución.

Los métodos iterativos se usan cuando no se conoce un método para obtener la solución en forma exacta.

También se utilizan cuando el método para determinar la solución exacta requiere mucho tiempo de cálculo, cuando una respuesta aproximada es adecuada, y cuando el número de iteraciones es relativamente reducido.

gauss

jacobi

ventajas: más exacto y rapido, acepta las fracciones


desventajas: muy largo y tedioso, no siempre converge a la solución, repetitivo.

Un concepto fundamental en este método es que, al rotar la matriz para eliminar un elemento que ya valga cero, modificamos muchos elementos situados en la fila y la columna del elemento rotado, que podían valer cero y hasta haber sido rotados con anterioridad. Sin embargo, cada vez que rotamos un elemento, todos los elementos que insertamos son función de la cantidad que eliminamos ponderada por una función trigonométrica, por lo que el valor absoluto de los elementos distintos de la diagonal se irá reduciendo hasta que podamos considerar que son cero.

4. Realiza un código en C en el devC según el pseudocódigo y resuelve las siguientes matrices, verifica en el mismo código si están correctas.
[pic 7]

[pic 8][pic 9]

#include

#include

#include

using namespace std;

int main()

{

cout.precision(4);

cout.setf(ios::fixed);

int n,i,j,k,flag=0,count=0;

cout<<"\n Ingrese el no. de ecuaciones\n";

cin>>n;

double a[n][n+1];

double x[n];

double eps,y;

cout<<"\nIngrese los elementos de la matriz aumentada en filas:\n";

for (i=0;i

for (j=0;j<=n;j++)

cin>>a[i][j];

cout<<"\nIngrese los valores iniciales de las variables:\n";

for (i=0;i

cin>>x[i];

cout<<"\nIngrese la precisión hasta la que desea la solución:\n";

cin>>eps;

for (i=0;i

for (k=i+1;k

if (abs(a[i][i])

for (j=0;j<=n;j++)

{

double temp=a[i][j];

a[i][j]=a[k][j];

a[k][j]=temp;

}

cout<<"Iter"<

for(i=0;i

cout<<"x"<

do

{

cout<<"\n"<

for (i=0;i

{

y=x[i];

x[i]=a[i][n];

for (j=0;j

{

if (j!=i)

x[i]=x[i]-a[i][j]*x[j];

}

x[i]=x[i]/a[i][i];

...

Descargar como (para miembros actualizados) txt (7 Kb) pdf (397 Kb) docx (270 Kb)
Leer 3 páginas más »
Disponible sólo en Clubensayos.com