递归减法在numpy中 - python

请考虑以下递归问题:假设我有total_units可以在total_days中使用的东西。在任何一天中,当我使用这些单位时,我剩下units_left个单位和days_left个。基于此,我可以将ideal_daily_rate定义为units_left/days_left

现在,假设从第一天开始,我们选择每天在20%上方的ideal_daily_rate消费。请注意,在任何一天的开始,ideal_daily_rate始终被计算为units_left/days_left,我们只是选择在该特定日期花费更多的ideal__daily_rate 20%。

目标是在给定初始条件total_unitstotal_days和理想值20%的情况下,每天获取多少单位。

numpy中是否有一个库可以帮助处理/向量化这种类型的递归?

python大神给出的解决方案

我不明白为什么这需要递归。这是一个简短的模拟,用于获取您描述的值。它本质上是一个衰减差分方程(差分方程的离散版本)。如果您认为我有误解,请纠正我。

days_left = 100
units_left = 50
ideal_daily_rate = units_left/days_left
spend = 1.2*ideal_daily_rate

while (days_left>0):
    print( "days_left: %4.1f unit_left: %4.1f ideal: %5.2f spend: %5.2f" % (days_left,units_left,ideal_daily_rate,spend))
    units_left -= spend
    days_left -= 1
    if (days_left>0):
        ideal_daily_rate = units_left/days_left
        spend = 1.2*ideal_daily_rate