我正在尝试进行一些控制工程,我从一开始就使用某个值,例如x = 5
,最后它应该返回x
。最终目标是找到x
的值,其中x (beginning) == x (end)
。
我正在考虑创建一个while循环,只需在x(beginning)
上添加或减去某个步长直到达到平衡。但是,我想在while循环中使用一些容差。像x(beginning) ==x(end)+0.1
一样也可以。
我不知道如何在Python中创建它,我不确定这是否是实现此目的的正确方法
答案 0 :(得分:1)
你可以这样做:
# in this example, x is the beginning value, y is the end value
x = 5
y = 10
tolerance = 0.1
while True:
if abs(y-x) <= tolerance:
break
# put your code here
x += 1 # or something else
答案 1 :(得分:1)
我认为你要找的是math.isclose()
。通过它,您可以指定相对和绝对容差限制。
isclose(a, b, rel_tol=1e-9, abs_tol=0.0)