Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Metodo Newton Raphson
Metodo Newton Raphson
#include <iostream>
#include <iomanip>
#include <math.h>
#define f1(x)(1.0*pow(x,5)-4.0*pow(x,4)+5.0*pow(x,3)-6.0*x+4.0)
#define fp(x)(5.0*pow(x,4)-16.0*pow(x,3)+15.0*pow(x,2)-6.0)
cout<<"Iteracion"<<setw(10)<<"xi"<<setw(10)<<"xi+1"<<setw(10)<<"Ea
"<<setw(10)<<"f(xi)"<<setw(10)<<"f'(xi)"<<endl;
for(int cont=1;cont<=iter;cont++)
{
y1=f1(x1);
yp1=fp(x1);
if(yp1==0)
{
cout<<"Hay una division entre cero. f
´(xi)=0"<<endl;
break;
}
x2=x1-(y1/yp1);
ea=fabs((x2-x1)/x2);
cout<<setw(5)<<cont<<setw(15)<<x1<<setw(10)<<x2<<setw(10)<<ea<<set
w(10)<<y1<<setw(10)<<yp1<<endl;
x1=x2;
if(ea<es)
{
cout<<"El metodo converge
a"<<cont<<"iteraciones.\n";
return x2;
break;
}
}
if(ea>es)
cout<<"El metodo no converge para
las"<<iter<<"iteraciones indicadas. aumente el numero de
\n"<<"iteraciones, use otro punto inicial o en su defecto; use
otro medoto numerico\n";
}
Conclusiones.
Newton Rapshon nos pide solamente un punto inicial, y aunque nos pide las
derivadas fue más fácil ponerla con un #define para ahorrarnos los pasos de
derivar en el programa. Después el programa ira comparando y acomodando y1,
x1, x2 etc. para ir realizando las iteraciones necearías que indiquemos al
programa.
El poner las derivadas y la función en #define ayudo a qe el programa fuera mas
compacto y fácil de realizar.
INSTITUTO POLITECNICO NACIONAL
MECANICA Y ELECTRICA “
UNIDAD CULHUACAN
ANALISIS NUMERICO
PRACTICA:
NEWTON RAHPSON
ALUMNO:
PROFESOR: