SISTEMAS DE ECUACIONES LINEALES: METODOS ITERATIVOS
Enviado por cristopher.cal • 23 de Octubre de 2017 • Práctica o problema • 940 Palabras (4 Páginas) • 271 Visitas
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(a11, a22, ..., 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.
- ρ(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
| 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];
...