这是原题
用不动点迭代法求f(x)=e^x+x-2=0在[0,1]内的近似根,要求误差小于10-6.
这是代码部分
from math import exp
xl = 0 #区间下限
xu = 1 #区间上限
x = (xl+xu)/2 #迭代初始值
x_list = [x]
i = 0
while True:
x = exp(x) + x - 2 + x
x_list.append(x)
if len(x_list) > 1:
i += 1
error = abs((x_list[-1] - x_list[-2]) / x_list[-1])
if error < 10**(-6):
print(f'迭代第{i}次后,误差小于10^-6')
break
else:
pass
这是他的报错
OverflowError: math range error
也就是溢出,数学范围错误
代码部分我是参考的Fo*(Bi)的
https://blog.csdn.net/weixin_48615832/article/details/109470488