我缺乏基础数学,想知道是否有比循环循环算法更有效的方法:

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。我省略了veldt的起始值,因为它们只是乘法常数。最终结果是19 * 1000/60 = 316.66667。

关于python - 数学求和序列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49494658/

10-08 23:00