分享

牛顿迭代法求一元方程的根

 copperpea 2008-04-23
#include <iostream>
#include <cmath>
using namespace std;
float f(float);
float f1(float);
void main()
{
 const double error=0.00001;
 float x0=1,x1;
 do
 {
  x1=x0;
  x0=x1-f(x1)/f1(x1);
//  cout<<x1<<"  "<<x0<<endl;
 }while(fabs(f(x1))>error);//fabs(x1-x0)>error
 cout<<x1<<endl;
}
float f(float x)
{
 return exp(x)-x-2;//x*exp(x)-2;
}
float f1(float x)
{
 return exp(x)-1;//exp(x)*(x+1);
}
//exp(x)-x-2==0有两个根x1=1.14619,x2=-1.84141;
//x*exp(x)-2==0只有一个根x=0.852602

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多