二分法求方程的根
时间: 2023-07-24 10:07:23 浏览: 138
二分法是一种基本的数值计算方法,可以用来求解方程的根。其基本思路是:对于一个区间,取其中点,判断中点处函数值与零的关系,然后将包含根的那一半区间保留,另一半区间舍去,重复上述步骤,直到满足精度要求为止。
具体的步骤如下:
1. 设定求解区间 [a, b],其中 f(a) 和 f(b) 的符号不同,即 f(a)×f(b) < 0;
2. 取区间中点 c = (a+b)/2,计算 f(c);
3. 如果 f(c) = 0,则 c 就是方程的解,计算结束;
4. 如果 f(c)×f(a) < 0,说明根在 [a, c] 区间内,将 b 更新为 c,重复步骤 2;
5. 如果 f(c)×f(b) < 0,说明根在 [c, b] 区间内,将 a 更新为 c,重复步骤 2;
6. 直到满足精度要求为止。
代码实现如下(假设要求解方程 f(x) = x^3 - 5*x + 1 在 [-10, 10] 的根):
```python
def f(x):
return x**3 - 5*x + 1
a, b = -10, 10
tolerance = 1e-6
while (b - a) > tolerance:
c = (a + b) / 2
if f(c) == 0:
break
if f(c) * f(a) < 0:
b = c
else:
a = c
print('方程的根为:', c)
```
输出结果为:
```
方程的根为: 1.3652305603027344
```
可以看到,使用二分法可以比较快速地求解方程的根。需要注意的是,二分法只适用于单调函数求根,如果函数在求解区间内存在多个根,可能会漏解或重解。
阅读全文