用二分法求方程的根
时间: 2023-07-24 18:04:24 浏览: 52
二分法是一种简单有效的求解方程根的方法。其基本思路是:首先取定一个区间,然后每次将区间缩小一半,直到区间长度足够小,求出方程在该区间中的近似根。
具体实现步骤如下:
1. 取定一个区间[a, b],其中f(a)与f(b)异号,即方程在该区间内有根。
2. 每次取区间的中点c=(a+b)/2,计算f(c)的值。
3. 如果f(c)为0,则c即为方程的根;如果f(c)与f(a)同号,则根在区间[c,b]内,反之在区间[a,c]内。
4. 重复第2、3步,直到区间长度小于某一预先设定的值,此时c即为方程的近似根。
下面是一个用Python实现的二分法求方程根的示例代码:
``` python
def f(x):
# 定义方程
return x**2 - 2
def bisection(a, b, eps):
# a, b为区间端点,eps为允许误差
while (b-a) > eps:
c = (a + b) / 2
if f(c) == 0:
return c
elif f(c)*f(a) < 0:
b = c
else:
a = c
return (a + b) / 2
# 测试
a, b, eps = 1, 2, 0.0001
root = bisection(a, b, eps)
print(root) # 输出方程的近似根
```
需要注意的是,二分法只能用来求解单根问题,即方程在给定区间内只有一个根。如果方程有多个根或无解,则需要采用其他方法。