Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP中的目标搜索功能_Php_Algorithm_Excel - Fatal编程技术网

PHP中的目标搜索功能

PHP中的目标搜索功能,php,algorithm,excel,Php,Algorithm,Excel,我想在PHP中实现与Microsoft Excel中的Goal Seek类似的功能 这样的事情可以在PHP中实现吗 下面是详细的故事 我们正在为一家金融公司写一份个人贷款管理申请。他们目前正在使用Excel表格进行各种负载、EMI等计算。现在他们想在网上实现这一点,以便他们的员工可以从任何地方访问它 在这方面,我们必须编制利息计算程序。这种利息计算非常复杂,但可以这样说,利息是用减法计算的,但是,在这种情况下,利息总是比单位利息少一点 例如,有人以10%的利率贷款10000英镑,为期12个月(1

我想在PHP中实现与Microsoft Excel中的Goal Seek类似的功能

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

下面是详细的故事

我们正在为一家金融公司写一份个人贷款管理申请。他们目前正在使用Excel表格进行各种负载、EMI等计算。现在他们想在网上实现这一点,以便他们的员工可以从任何地方访问它

在这方面,我们必须编制利息计算程序。这种利息计算非常复杂,但可以这样说,利息是用减法计算的,但是,在这种情况下,利息总是比单位利息少一点

例如,有人以10%的利率贷款10000英镑,为期12个月(1年)

在这种情况下,单位利息为1000(10000*(10/100))

我们必须在减息法中显示借款人的利息计算,减息法中的总利息应始终略低于固定利息

为此,我们必须计算一个实际高于10%的利率。为了获得准确的值,他们(客户机)目前正在使用目标搜索功能,因为这非常快

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


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

因为PHP是图灵完成的,那么是的,这是可能的。当然,您需要为此实现自己的算法和用户界面。请详细说明这类功能的设计,您是如何看待它的,然后也许我可以给您一些进一步的提示。

由于PHP是图灵完成的,那么是的,这是可能的。当然,您需要为此实现自己的算法和用户界面。请详细说明此类功能的设计,以及您对它的看法,然后也许我可以给您一些进一步的提示。

如果您有要计算的函数,并且需要运行它10万次,那么您的函数数据馈送不是最佳的。您应该先向函数FIRT提供粗粒度数据(值之间的差距很大),然后再提供更细的数据

当然,您需要编写比biiiig while循环更复杂的控制流

最简单的方法(编码)

  • 你处于目标的高端
  • 输入速率为*0.5的数据,看它是否会转到低端
  • 平等:你准备好了;低于目标:饲料率*0.75更高:饲料率*0.25
重复,直到收敛。请记住,您希望删除剩余值的1/2


这会很快。

如果您有要计算的函数,并且需要将其运行10万次,则该函数的数据馈送不是最佳的。您应该先向函数FIRT提供粗粒度数据(值之间的差距很大),然后再提供更细的数据

当然,您需要编写比biiiig while循环更复杂的控制流

最简单的方法(编码)

  • 你处于目标的高端
  • 输入速率为*0.5的数据,看它是否会转到低端
  • 平等:你准备好了;低于目标:饲料率*0.75更高:饲料率*0.25
重复,直到收敛。请记住,您希望删除剩余值的1/2

这会很快。

关于目标搜索的作用有一点(一点)。这可能足以让你开始

在你的例子中,一个更快的执行方法是使用类似的东西,因为你有一个已知的公式开始。如果wikipedia页面没有足够的帮助,那么现在你知道谷歌为你做什么了,你也许可以找到一个很好的php演练。

关于Goal Seek的作用有一点(一点)。这可能足以让你开始

在你的例子中,一个更快的执行方法是使用类似的东西,因为你有一个已知的公式开始。如果wikipedia页面没有提供足够的帮助,那么现在您知道了google为您提供了什么,您可能会找到一个很好的php演练

目标搜索公式(PHP公式)


目标搜索公式(PHP公式)


是的,这是可能的,你能再详细说明一下吗。你到底想干什么?输入是如何产生的?它是一个类似电子表格的应用程序吗?或者您是从csv文件输入的?目标搜索是什么:是的,这是可能的,请您详细说明一下。你到底想干什么?输入是如何产生的?它是一个类似电子表格的应用程序吗?或者您是从csv文件输入的?目标搜索的作用是:感谢所有链接。我将尝试谷歌这个。但我怀疑我是否能找到,事实上,我是在试图在网上找到一个有效或半有效的解决方案后发布在这里的,但失败了。谢谢所有的链接。我将尝试谷歌这个。但我怀疑我能否找到,事实上,我在网上试图找到一个有效或半有效的解决方案,但失败了。你在说什么废话?你在说什么废话?
<?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

?>