牛顿法解方程

来源:互联网 发布:q版人物绘画软件 编辑:程序博客网 时间:2024/05/18 03:58

题目要求:

设计程序完成利用牛顿法解方程   xe^x-1=0

分析:

在设计程序之前,我们需要了解一下牛顿法的基本原理。设存在方程f(x)=0,已知方程的近似根为x(k),函数f(x)可展开,得到迭代公式这里写图片描述

下面提供牛顿法解方程的代码:

#include<iostream>#include<cmath>using namespace std;double newtonF(double x){    return x-(x-exp(-x))/(x+1);}double getResult(double x,double accuracy){    double y=0.0;    y=newtonF(x);    while(fabs(y-x)>=accuracy){        x=y;        y=newtonF(x);    }    return y;}int main(){    double x,accuracy;    cout<<"请输入迭代初始值:"<<endl;    cin>>x;    cout<<"请输入精确度:"<<endl;    cin>>accuracy;    cout<<"方程解为:"<<endl;    cout<<getResult(x,accuracy)<<endl;    return 0;}

以上选自《妙趣横生的算法》

2 0
原创粉丝点击