二分法求方程的根c++
时间: 2023-10-20 17:12:29 浏览: 146
二分法是一种常用的求解方程根的方法,其基本思想是通过不断缩小区间范围来逼近方程的根。下面是一个使用C++实现二分法求解方程根的示例代码:
```c++
#include <iostream>
#include <cmath>
using namespace std;
const double eps = 1e-8; // 精度要求
const double left_end = -1000; // 区间左端点
const double right_end = 1000; // 区间右端点
double f(double x) { // 待求解的方程
return x * x - 2;
}
double bisection(double left, double right) { // 二分法求解
double middle;
while (right - left > eps) { // 当区间长度小于精度要求时停止迭代
middle = (left + right) / 2.0;
if (f(middle) * f(left) < 0) {
right = middle;
} else {
left = middle;
}
}
return middle;
}
int main() {
double root = bisection(left_end, right_end);
cout << "The root of the equation is: " << root << endl;
return 0;
}
```
在上述代码中,`f(x)`是待求解的方程,`bisection(left, right)`是二分法的实现函数,`eps`是精度要求,`left_end`和`right_end`是区间的左右端点。程序通过不断缩小区间范围来逼近方程的根,直到区间长度小于精度要求为止。最终输出方程的根。
阅读全文