之前写的 用MATHEMATICA计算一元高次方程 内容较复杂,探讨了 Solve 的局限性和 FindRoot 的使用。
如果只要计算增长率,用以下代码即可:
StartYear=2017;
EndYear=2030;
Year = EndYear-StartYear;
StartNumber = 1200;
EndNumber = 2200;
FindRoot[StartNumber (1 + x)^(Year) == EndNumber, {x, -1, 1}]
解释:
StartYear是起始年份,EndYear是结束年份,Year是一共经历了多少年。
StartNumber 就是初始年份的值,EndNumber是结束年份的值。
最后一行是计算,因为增长率不可能超出[-1,1],所以直接寻找值。只要数据正确,就不会报错了。
上面的例子的运行结果:

