#include<stdio.h>
#include<math.h>
float f(float x)
{
float y;
y=pow(x,3)-2*pow(x,2)+x;
return y;
}
float g(float x)
{
float y;
y=3*pow(x,2)-4*x+1;
return y;
}
float Newton(float x)
{
float b;
float n;
int m=0;
while(1)
{
b=x;
x=x-2*f(x)/g(x);
n=fabs(b-x);
m++;
if (n<pow(10,-10))
break;
}
return x;
printf("%d\n",m);
}
int main()
{
float y=Newton(2);
printf("%f\n",y);
return 0;
}
牛顿迭代法无error但跑出来个很奇怪的结果,希望有大佬能指点迷津