我缺乏基础数学,想知道是否有比循环循环算法更有效的方法:
dt = 1 / 60.
vel = 1000.
fri = 0.05
result = 0
while vel > 0.5:
vel -= vel * fri
result += vel * dt
print(result)
编辑:您可以在每个迭代中看到vel和结果的示例:https://www.desmos.com/calculator/1dfvxzgxvt
最佳答案
我认为vel
的下限只是为了使迭代停止一段时间。
然后,您要做的就是计算一个无限的所谓的几何级数
k+k^2+k^3+k^4+...
其中
k
= 1-fri
= 0.95结果为
k/(1-k)
=19。我省略了vel
和dt
的起始值,因为它们只是乘法常数。最终结果是19 * 1000/60 = 316.66667。关于python - 数学求和序列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49494658/