牛顿法多个根要怎么办呀?
这个函数我x的值小于2.5结果就是2,大于2.5结果就是3。怎么让他两个根都弄出来,就是换个函数也可以的那种
#include <iostream>
double root(double x);
double f1(double x);
double f2(double x);
using namespace std;
int main()
{
double x=-100;
cout << root(x) << endl;
return 0;
}
double f1(double x)
{
return x * x - 5 * x + 6;
}
double f2(double x)
{
return 2 * x - 5;
}
double root(double x)
{
double xnew, xnow;
xnow = x;
while (1)
{
xnew = xnow - f1(xnow) / f2(xnow);
if (abs(xnow - xnew) < 0.000001)break;
xnow = xnew;
}
return xnow;
}