二分法求方程的根python
时间: 2023-12-20 09:29:13 浏览: 176
二分法求方程的根
下面是使用二分法求解方程的根的Python代码:
```python
def func(x):
return x**3 - x**2 + x - 1
a = -1
b = 2
fa = func(a)
fb = func(b)
while a <= b:
x0 = (a + b) / 2
fx0 = func(x0)
if abs(fx0) < 10e-6:
print('x0:', x0, fx0, '<10e-6')
print(x0, '是用二分法求解方程的根')
break
if fa * fx0 < 0:
b = x0
fb = fx0
print('解在左侧,a:', a, ' b:', b, ' x0:', x0)
elif fb * fx0 < 0:
a = x0
fa = fx0
print('解在右侧,a:', a, ' b:', b, ' x0:', x0)
```
该代码中,`func(x)`是方程的函数,`a`和`b`是方程的解所在的区间,`fa`和`fb`是函数在区间两端点的取值。在`while`循环中,每次将区间一分为二,计算中点`x0`处的函数值`fx0`,如果`fx0`的绝对值小于某个阈值(这里取10e-6),则认为找到了方程的根,输出结果并结束循环。如果`fa * fx0 < 0`,说明根在区间左侧,将区间右端点`b`更新为`x0`,否则根在区间右侧,将区间左端点`a`更新为`x0`。循环直到找到方程的根为止。
阅读全文