编写用牛顿迭代法求方程根的函数.方程为ax3+bx2+cx+d=0,系数a,b,c,d由主函数输入.求x在1附近的一个实根.求出根后,由主函数输出.
牛顿迭代法的公式是:x=x0-f(x0)/f`(x0 ),设迭代到|x-x0|<=10-5时结束.
代码 :
#include <stdio.h>
#include <math.h>
int main()
{
float a,b,c,d;
float fx,fd,x = 1.5,x0 = 0;
while(fabs(x - x0) >= 1e-5)
{
x0 = x;
fx = a*x0*x0*x0 + b*x0*x0 + c*x0 + d;
fd = 3*a*x0*x0 + 2*b*x0 + c;
x = x0 - fx/fd;
}
printf(“解为%d\n”,x);
return 0;
}