目标在PHP中寻求function

我想在PHP中实现function,类似于在Microsoft Excel中使用Goal Seek所提供的function。

这样的事情可以在PHP中实现吗?

这里是详细的故事

我们正在为一家金融公司编写个人贷款pipe理应用程序。 他们目前使用Excel工作表来做各种负载,EMI等计算。 现在他们想在网上实现这个function,以便他们的员工可以从任何地方访问它。

在这个我们必须编程兴趣计算。 这个利息计算是非常复杂的,但可以这么说,利息是用减less的方法计算的,但是这样做总是比平息less一点。

比如说,有人以10%的利率贷款10000个,为期12个月(1年)。

在这种情况下,平息将为1000(10000 *(10/100))。

我们必须在减less的方法中显示借款人的利息计算,并且减less方法的总利息应该总是less于平息。

为此,我们必须计算实际上高于10%的利率。 为了达到他们(客户)目前使用的目标searchfunction的确切值,因为这非常快。

在我们正在开发的在线软件中,我们已经实现了执行这个计算的逻辑,但是这需要很长的时间,因为我们必须执行一个循环,这个循环在100000次以上迭代达到可接受的值。

我希望我已经正确地解释了整个情况。

在微软支持网站上,有一点(一点点)关于Goal Seek在这里所做的。 这对你来说可能已经足够了。

就你而言,更快的方法就是使用Newton-Raphson之类的东西,因为你有一个已知的公式。 如果维基百科页面没有足够的帮助,现在你知道什么谷歌为您可能能够find一个很好的PHP演练。

如果你有函数计算,你需要运行100K次,那么你的数据input是不是最佳的。 你应该使用粗粒度数据(值之间的大差距),然后更精细的数据馈送函数firts。

当然,您需要编写比循环更复杂的控制stream程。

最简单的方法(代码)

  • 你在目标的高端
  • 以速率* 0.5填充数据,看是否会偏向低端
  • 平等:你已经准备好了; 低于目标:以0.75的比率饲喂:饲料的比率为0.25

重复,直到它收敛。 只要记住,你想要消除余下的一半剩余价值。

它会很快。

目标寻求公式(PHP公式)

<?php /* PMT Function for goal seek formula * PMT = (PV(1+i)^n) + FV)i * ------------------- * 1-(1 + i)^n * * * $i = annual interest rate * $n = total months * $p = total loan amount (Principle Amount) */ function PMT($i,$n,$p) { return $i * $p * pow((1 + $i),$n) / (1 - pow((1 + $i),$n)); } echo"goal seek = ",(number_format(PMT(7/1200,120,60000),2)); // This will Display result ?> 

由于PHP是图灵完成,那么是的,这是可能的。 当然,你需要实现你自己的algorithm和用户界面。 请详细说明这个function的devise,如何看待它,或许我可以再给你一些指示。