牛顿下山法

来源:互联网 发布:nginx 添加第三方模块 编辑:程序博客网 时间:2024/04/30 21:33

牛顿下山法计算高次方程真是利器啊,举个栗子

#include <limits>
#include <iostream>
#include <math.h>


double f(double x)
{
return pow(x, 3) + pow(x, 2) + 2;
}


double f1(double x)
{
return 3 * pow(x , 2) + 2 * x;
}


int main()
{
double a0 = 5.0;
std::cin >> a0;


double da = 0.0;
do 
{
double a = a0 - f(a0) / f1(a0);
da = a - a0;
a0 = a;
} while (abs(da) > 0.001);


std::cout << a0 + da << std::endl;


system("pause");
return -1;
}

0 0
原创粉丝点击