Foros del Web » Programación para mayores de 30 ;) » C/C++ »

programa en dev c++ para el metodo newton rapson

Estas en el tema de programa en dev c++ para el metodo newton rapson en el foro de C/C++ en Foros del Web. hola estoy realizando un programa en dev c++ para el metodo de newton rapson, ya me funciona para hacerlo cunado es de segundo grado la ...
  #1 (permalink)  
Antiguo 26/09/2011, 10:04
 
Fecha de Ingreso: abril-2011
Mensajes: 8
Antigüedad: 13 años
Puntos: 0
programa en dev c++ para el metodo newton rapson

hola estoy realizando un programa en dev c++ para el metodo de newton rapson, ya me funciona para hacerlo cunado es de segundo grado la funcion, el dilema ahora es que quiero hacer el programa para que me calcule con una funcion de n grado, pensé hacerlo con vectores pero la verdad no se como realizar la parte del formato de la formula y la derivada?? ayuda , esto es lo que llevo:
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include <string.h>
#include <conio.h>
#include <time.h>
//vetor grado 3 posiciones, grado 5 -5 posiciones

#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include <string.h>
#include <conio.h>
#include <time.h>

double funcion (double x);
double derivadaf (double x);

main()
{
int Nit, i;
double cota,xi,xsol,error;

printf("Metodo de Newton-Raphson\n");
printf("Cota de error maxima: ");
scanf ("%lf",&cota);
printf ("Numero maximo de iteraciones: ");
scanf ("%d",&Nit);
printf ("Punto inicial: ");
scanf ("%lf",&xi);

i = 1; /* Contador de iteraciones */
error = cota + 1 ; /* Para asegurar que error > cota al ppio */

while (i<= Nit && error > cota)
{
/* Aplicamos formula Newton-Raphson */
xsol = xi - funcion (xi) / derivadaf(xi);
error = fabs (xsol-xi);
i++;
/* En la siguiente iteracion xsol es xi */
xi = xsol;
}

printf ("La solucion es %lf\n", xsol);
printf ("El valor de la funcion es %g\n",funcion(xsol));
printf ("El error alcanzado es %g\n", error);
if (i>=Nit)
printf ("Se ha alcanzado el maximo n. de iteraciones\n");
else
printf ("El n. de iteraciones ha sido %d\n",i);
getch();
}
double funcion(double x)
{
int i=0, g=0;
double f, j[100], v=0;
printf ("digite el grado de la ecuacion: \n" );
scanf("%d", &g );
g++;
for(i=0; i<=g; i++)
{
printf ("digite el valor de variable: \n" );
scanf("%f", &v);
j[i]=j[i]+v;
}

// f = x*x + 2*x - 35;
return (f);

}
double derivadaf(double x)
{
double fp;
fp = 2*x + 2;
return (fp);

}
  #2 (permalink)  
Antiguo 26/09/2011, 13:44
 
Fecha de Ingreso: octubre-2010
Ubicación: Edo. de México
Mensajes: 94
Antigüedad: 13 años, 6 meses
Puntos: 9
Respuesta: programa en dev c++ para el metodo newton rapson

Hay métodos numéricos que te permiten calcular derivadas y resolver ecuasiones de grado n. Lamentablemente no recuerdo el nombre de estos.

Etiquetas: dev, funcion, metodo, newton, programa
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:29.