
文章插图

文章插图

文章插图
import matplotlib.pyplot as plt
a=3
b=-2
x=(a+b)/2.0 # 中点
def f(x): # 定义方程式
y=x-2**0.5
return(y)
u=max([a,b])
l=min([a,b])
i=0
z=[]
est=[]
# 循环体
while abs(f(x))> 10.0**(-15.0): # 计算精度
if f(u)*f(l)>0: # 判断输入假设是否成立
print('Error: Assumption not holds! ')
break
if f(x)*f(u)>0: # 判断零点落入区间
u=x
【python 二分法求方程的根】x=(x+l)/2.0
else:
l=x
x=(x+u)/2.0
i=i+1
z=z+[abs(x-2**0.5)]
est=est+[abs(a-b)/2**i]
plt.semilogy(z)
plt.semilogy(est)
plt.grid('on')
plt.legend(['simu','theo'])
plt.show()
推荐阅读
- 二 五加酒方的功效与作用
- 二 商陆酒的功效与作用
- 二 烏蛇浸酒方的功效与作用
- 二 紫酒的功效与作用
- 12星座的心理年龄?十二星座对应年龄
- 2020第二届家庭发展教育论坛?2020年第二届家庭教育论坛
- Python正则表达式保姆式教学,带你精通大名鼎鼎的正则
- Python中的函数装饰器
- 某些音乐只能听一分钟?Python绕过反爬,完美下载音乐
- 唐诗一去二三里的作者是谁 一去二三里的作者是谁?
