c++实现二分法求根
时间: 2023-11-13 11:05:41 浏览: 375
二分法是一种常用的求解方程根的方法。它通过迭代逼近的方式,将待求解的区间不断分成两半,然后选择包含根的那一半继续迭代,直到满足精度要求或者迭代次数达到上限。
以下是一个使用二分法求解方程根的示例代码:
```c
#include <stdio.h>
#include <math.h>
double equation(double x) {
return x * x - 4; // 这里假设要求解 x^2 - 4 = 0 的根
}
double binarySearch(double left, double right, double precision) {
double mid;
while (right - left > precision) {
mid = (left + right) / 2;
if (equation(mid) * equation(left) < 0)
right = mid;
else
left = mid;
}
return mid;
}
int main() {
double root = binarySearch(0, 5, 0.0001); // 在 [0, 5] 区间内求根,精度为 0.0001
printf("Root: %.4f\n", root);
return 0;
}
```
这段代码使用了二分法来求解方程 `x^2 - 4 = 0` 的根。在 `binarySearch` 函数中,`left` 和 `right` 分别表示待求解区间的左右边界,`precision` 表示迭代的精度。函数通过不断调整 `left` 和 `right` 的值,最终得到方程的一个根。
阅读全文