day 6 牛顿迭代法求根

 

1.由f(x)计算f(x)的导数;

2.输入一个X,并让其作为X0进行计算;

3.反复迭代X,直到|x-x0|<=1e-5;

4.输出当前X;

 

#include<iostream>
#include<math.h>
using namespace std;

int main(){
float X,X0,a,b,c,d;
printf("输入X0,a,b,c,d\n");
cin>>X0>>a>>b>>c>>d;
X=X0-(a*X0*X0*X0+b*X0*X0+c*X0+d)/(3*a*X0*X0+2*b*X0+c);
while(fabs(X-X0)>=1e-5){
X0=X;
X=X0-(a*X0*X0*X0+b*X0*X0+c*X0+d)/(3*a*X0*X0+2*b*X0+c);
}
printf("所求根为:");
cout<<X;
return 0;
}

 

 

posted @ 2023-04-15 11:23  The-rich  阅读(124)  评论(0)    收藏  举报