给定时间,如何将递归算法转换为输出数字的函数

How to convert a recursive algorithm to a function that outputs a number, given the time

我有一个多次运行的递归算法,每次用前一个运行的输出替换currentValue(除了第一个运行,其中值由用户提供)。每个运行计算一年后的值。

value = constant
+ population_factor * coeff_population_factor
+ currentValue * coeff_currentValue
+ initialValue * coeff_initialValue%
+ duration_of_period * coeff_duration_of_period

我希望能够将其转换为时间的函数,这样对于给定的值 t 年,它会 return 那个时候的预期值?我认为这将是一种回归算法,但我不确定如何实现它。

我已经使用 excel 中的上述公式对曲线建模以获得我的系数,但显然我的计算机上只有 运行s,我想 运行这在云中使用节点或其他东西,所以我可以针对它开发一些前端。理想情况下,一些使用纯数学或 JS 或库的指针,甚至,将不胜感激!

我相信您正在寻找 for 循环。 试试这个:

# define all of the variables here
currentValue = #put the first-run value here
for i in range(t):
    currentValue = constant \
                   + (population_factor * coeff_population_factor) \
                   + (currentValue * coeff_currentValue) \
                   + (initialValue * coeff_initialValue) \
                   + (duration_of_period * coeff_duration_of_period)
# currentValue will have the final result once outside of the for loop

它不是递归的,仍然给出了准确的答案!