C的一些简单习题(9)--牛顿迭代法求根

来源:互联网 发布:遗传算法经典书籍 编辑:程序博客网 时间:2024/04/30 15:56
//牛顿迭代法求根
#include <stdio.h>
#include <math.h>
float root(float i,float a,float b,float c,float d)
{
float x,x0,f1,f2;
x=i;
do
{
 x0=x;
 f1=x*(x*(a*x+b)+c)+d;
 f2=x*(3*a*x+2*b)+c;
 x=x0-f1/f2;
}while(fabs(x-x0)>1.e-6);
return x;
}
main()
{
float a,b,c,d;
a=1,b=2,c=3,d=4;
printf("根是%f",root(1,1,2,3,4));
}