我正在尝试回答老师提出的书本问题,但是我很难找到一种方法来减去下一个结果。问题要求结果循环,直到前一个结果减去下一个结果的容差为1e-10。 等式是:
H + = sqrt(Ka *(c-n))
其中Ka = 1.78e−5
c = 0.01
n =从零开始
继续迭代,直到H +的变化小于某个预定的较小公差值,在这种情况下,TOL = 1e-10。
由于我是python编码的新手(不到一个月使用它),因此我在这里基于类似的内容查看了一些问题,但是我没有找到任何有用的方法,因为它们中的大多数您都会得到一列,然后从类似的列中减去结果(How to subtract from previous row result?),但我无法做到这一点。
n = 0
Ka = 1.78e-5
c = 0.01
q = Ka * (c - n)
H = q ** 0.5
H1 = q ** 0.5
while n < 10:
print(H)
if (H1 - H == 1e-10):
break
这是我设法做到的,但是它使我得到无尽的结果,因为我不知道如何从下一个结果中减去上一个结果。有人可以对此有所解释吗?