kidjapa/php-goalseek

PHP 的一个简单的 goalseek 函数。使用来自 Libre Office 的 goalseek 函数

1.0 2020-11-05 12:52 UTC

This package is auto-updated.

Last update: 2024-09-23 01:18:29 UTC


README

  • 使用 Regula Falsi 方法模拟 Libre Office 中的 Goal Seek 功能的 PHP 函数。

  • 在大多数情况下,结果等于 Excel 公式。因为 Excel 不显示在目标查找中使用了哪些公式,我们需要使用 Libre Office 中类似的功能。

  • 安装

composer require kidjapa/php-goalseek

在 Libre Office 中

  • 存档中的函数:core/sc/source/coredata/dcoumen4.cxx
bool ScDocument::Solver(SCCOL nFCol, SCROW nFRow, SCTAB nFTab,
                        SCCOL nVCol, SCROW nVRow, SCTAB nVTab,
                        const OUString& sValStr, 
                        double& nX
                        )

示例

$goalSeek = new SolveGoalSeek();

$getValue = 0;

$getValue = $goalSeek->seekGoal(
    function($value, $data){
        return sqrt($value);
    },
    16,  // The Actual Value
    20   // The Goal Value
);

echo "------------- results ------------- \n";
echo "Result: ".$getValue."\n"; // Expect: 400