Informática


Métodos numéricos: Gauss-Jordan y Newton-Raphson


* Método de Newton-Raphson.

OBJETIVO.

Este método consiste de proporcionar un Xi inicial de aproximación a la raíz analítica r en seguida se evalúa la función en Xi obteniendo se f(Xi) se traza una recta tangente que intercepta en Xi+1al eje de las X. A este punto se le llama raíz nueva de aproximación a la r.

Algoritmo:

1. Dada una función f(X)=0 Obtener la Primera y Segunda derivada.

2. Elegir un valor inicial X0. Este valor inicial debe cumplir con el criterio de convergencia:

3. Obtener una nueva aproximación evaluando la formula general del método:

Xn+1=Xn - f(Xn)/ f ´(Xn)

4. Evaluar la aproximación relativa

| (Xn+1 - Xn) / Xn+1 | < Tolerancia

No. (Falso) Repetir el paso 3 y 4

Si . (Verdadero) Entonces Xn+1 Es la Raíz

Si existe una función f(x)=0 y un intervalo [a,b], tenemos una raiz  y xo una aproximación de , se extrae de la llamada Serie de Taylor (tomando hasta la 2ª potencia) :

Métodos numéricos: Gauss-Jordan y Newton-Raphson

Despejando , se tiene:

Siguiendo esto como una sucesión, se tiene:

Tenemos la fórmula de Newton-Raphson. Además, existe un estudio de la convergencia del método, en donde G(x) se acota, teniendo la fórmula de convergencia como:

Cabe señalar que el método de Newton-Raphson es convergente en forma cuadrática, es decir, que el número de cifras decimales correctas se duplica aproximadamente en cada iteración, o el error es aproximadamente proporcional al cuadrado del error anterior.

La ventaja de este método es que, al ser un método iterativo, éste entrega una sucesión , resoluciones aproximadas, convergiendo más rápidamente al valor buscado y se usan menos operaciones aritméticas.

Método de Gauss-Jordan.

Es una variante del método de Gauss y consiste en producir ceros en toda posición no diagonal de cada columna j, ubiando por operación unos en la posición (j,j).Esto es:

[a,b]![I,x]

donde I es la matriz identidad de orden n, y x es la solución del sistema Ax=b.

Este método se conoce como método directo para resolver ecuaciones lineales tipo Ax=b, donde en un número finito de pasos da la solución exacta.Además, es eficiente cuando la matriz A posee elelmentos no nulos, los que son más fáciles de aplicarles operaciones matemáticas.

Programa en C++

#include<stdio.h>

#include<conio.h>

void main()

{

int n,m,i,j,k;

float a[25][26],b[25][26],apoyo;

clrscr();

printf("\n MÉTODO DE GAUSS-JORDAN");

printf("\n\n Ingrese el nº de incógnitas \n\n Nº de Ecuaciones = ");

scanf("%d",&n);

printf("\n Ingrese coeficientes\n");

/* Datos para iniciar método */

for(i=1;i<=n;i++)

{

printf("\n Fila %d \n",i);

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

{

printf(" Ingese a(%d,%d) = ",i,j);

scanf("%f",&a[i][j]);

}

}

/* Fin Del Ciclo De Solicitud De Datos */

/* Proceso Principal */

m=n+1;

do

{

if(a[1][1]==0)

{

k=m-1;

for(i=2;i<=k;i++)

{

if(a[i][1]!=0)

{

for(j=1;j<=m;j++)

{

apoyo=a[i][j];

a[i][j]=a[1][j];

a[1][j]=apoyo;

}

}

}

}

else

{

for(j=2;j<=m;j++)

{

for(i=2;i<=n;i++)

{

b[i-1][j-1]=a[i][j]-a[1][j]*a[i][1]/a[1][1];

}

}

for(j=2;j<=m;j++)

{

b[n][j-1]=a[1][j]/a[1][1];

}

m=m-1;

for(j=1;j<=m;j++)

{

for(i=1;i<=n;i++)

{

a[i][j]=b[i][j];

}

}

}

}

while(m>1);

printf("\n\n SOLUCION DEL SISTEMA\n ");

for(i=1;i<=n;i++)

{

printf("\n X(%d) = %1.4f",i,a[i][1]);

}

printf("\n\n Fin del programa");

getch();

}

Universidad Católica de la

Santísima Concepción.

Facultad de Ingeniería.

Area ciencias Básicas.

Métodos numéricos: Gauss-Jordan y Newton-Raphson

Métodos numéricos: Gauss-Jordan y Newton-Raphson

Métodos numéricos: Gauss-Jordan y Newton-Raphson

Métodos numéricos: Gauss-Jordan y Newton-Raphson




Descargar
Enviado por:Real Bizkit
Idioma: castellano
País: Chile

Te va a interesar