我需要一个公式来确定债务偿还计划,其中已知以下内容:付款次数、每次付款金额和本金,并且需要从中计算出利率。我正在重构现有代码,当前方法使用以下(复合 = 12;利率从 0.1 开始):
while (counter < 100)
{
intermediatePayment = (interestRate*(principal/compounded))/(1 - (1/Math.Pow(interestRate/compounded + 1,(compounded*numberOfYears))));
interestIncrement = Math.Abs(interestRate - previousRate)/2;
previousRate = interestRate;
if(intermediatePayment == payment)
break;
if (intermediatePayment > payment)
interestRate -= interestIncrement;
else
interestRate += interestIncrement;
counter++;
}
现在我明白了这个公式的作用,但我自己永远无法得出它。如果知道利率、本金和付款次数,这里实际上是一个方程,它应该用于确定每月付款。它使用蛮力和循环(最多 100 次),直到计算的付款等于所需的付款。它通常在大约 40-50 次循环后得出答案,并且可以通过减少有效数字来优化。
在我看来,如果我们只解决了 interestRate 就不会出现循环。尽我所能,我无法为我求解方程,所以这是我的主要问题。
现在,如果你对这个问题足够了解,并且知道财务公式和复利,你可能会为我提供一个更好的解决方案,这将是非常棒的。我自己进行了大量研究并找到了工具,但没有找到原始方程式,或者更多时候我找到了不同的公式来确定与兴趣相关的东西,但我不知道如何根据我的需要重新调整它们。
基本上我在这方面花了太多时间,我的老板认为,自从循环工作以来,我需要让它保持不变或寻求帮助。很公平,我也是。:)
如果有帮助,这里有一个更传统的公式布局:http: //i.imgur.com/BCdsV.png
对于测试数据:如果
- P=45500
- c=12
- y=3
- 米=1400
然后
- 我 = .0676
谢谢您的帮助