求每月固定百分比增长率:初始值20,12个月累计达1000
求解每月固定增长率问题
已知首月数值为20,每月按固定百分比增长,12个月累计总额要达到1000,这本质是等比数列求和问题,具体解法如下:
数学模型
设每月增长率为r,则每月的数值构成首项a₁=20、公比q=1+r的等比数列。12项的求和公式为:
S₁₂ = a₁ * (q¹² - 1) / (q - 1)
代入已知条件S₁₂=1000、a₁=20,得到方程:
1000 = 20 * ((1+r)¹² - 1) / r
简化后:
50 = ((1+r)¹² - 1) / r
这个方程没有初等解析解,需要用数值迭代法求解。
数值解法示例
方法1:Excel单变量求解
- 在单元格A1输入
0.1(初始猜测10%的增长率); - 在单元格B1输入公式:
=20*((1+A1)^12 -1)/A1; - 调用「数据」选项卡下的「单变量求解」,设置目标单元格为B1,目标值为1000,可变单元格为A1,确认后即可得到结果。
方法2:Python代码迭代计算
用牛顿迭代法快速逼近精确解:
def find_growth_rate(target_sum=1000, initial=20, months=12): r = 0.1 # 初始猜测值 for _ in range(100): q = 1 + r current_sum = initial * (q**months - 1) / (q - 1) # 计算导数用于牛顿迭代 derivative = initial * (months * q**(months-1)*(q-1) - (q**months -1)) / (q-1)**2 r -= (current_sum - target_sum) / derivative # 精度达标则停止迭代 if abs(current_sum - target_sum) < 1e-6: break return r rate = find_growth_rate() print(f"每月固定增长率约为:{rate*100:.2f}%")
运行后得到结果约为18.92%,此时12个月累计总额接近1000,验证公式:
20*(1.1892^12 -1)/0.1892 ≈ 1000
内容的提问来源于stack exchange,提问作者mjl
相关产品推荐
相关产品推荐

