二分法求方程的根c++
时间: 2023-10-20 22:14:35 浏览: 175
二分法求解方程-c++程序设计之谭浩强经典
下面是使用二分法求解方程根的 C++ 代码示例:
```c++
#include <iostream>
#include <cmath>
using namespace std;
double f(double x)
{
return x * x - 2; // 要求解的方程为 x^2 - 2 = 0
}
double bisection(double left, double right, double eps)
{
double mid = (left + right) / 2; // 计算区间的中点
while (fabs(right - left) > eps) // 当区间的长度小于精度时停止迭代
{
if (f(mid) == 0) return mid; // 如果中点为根,直接返回
if (f(mid) * f(left) < 0) // 如果左右端点异号
right = mid; // 根在左半边,移动右端点
else
left = mid; // 根在右半边,移动左端点
mid = (left + right) / 2; // 更新中点
}
return mid; // 返回最终的根
}
int main()
{
double left = 0, right = 2, eps = 1e-6;
cout << "方程 x^2 - 2 = 0 的根为:" << bisection(left, right, eps) << endl;
return 0;
}
```
在上面的代码中,`f(x)` 函数表示要求解的方程,`bisection(left, right, eps)` 函数接受三个参数,分别是二分法的左端点、右端点和精度,返回方程的根。在 `bisection` 函数内部,首先计算区间的中点 `mid`,然后不断缩小区间范围,直到区间的长度小于精度 `eps` 时停止迭代,最终返回区间的中点 `mid` 作为方程的根。
阅读全文