c++牛顿迭代法

首先牛顿迭代法可以理解为,X=X0-f/f',  X0=X依次往下推,即可求出范围内的根;

本示例先创建一个方法,初值为X0,把初值传给X,让X0=X;

再求函数的一阶导数f1,即是X=X0-f/f1;循环语句为do...while();如下所示;

#include

#include

#include

using namespace std;

double fa(double x0,int n){

double x,f,f1;

do

{   n=n+1;

x=x0;

f=x*x-115;

f1=2*x;

x0=x-f/f1;

}while(fabs(x-x0)>=1e-8);

cout<<"迭代次数:"<

return (x0);

}

int main(){

double x0=10.0;

cout<

return 0;

}

运行结果;

迭代次数:4

10.723805;

以后会陆续编写算法,互相交流,互相提升!!!

你可能感兴趣的:(c++牛顿迭代法)