diff --git a/src/PhpSpreadsheet/Shared/trend/exponentialBestFit.php b/src/PhpSpreadsheet/Shared/trend/exponentialBestFit.php deleted file mode 100644 index be705165..00000000 --- a/src/PhpSpreadsheet/Shared/trend/exponentialBestFit.php +++ /dev/null @@ -1,138 +0,0 @@ -getIntersect() * pow($this->getSlope(), ($xValue - $this->xOffset)); - } - - /** - * Return the X-Value for a specified value of Y - * - * @param float $yValue Y-Value - * @return float X-Value - **/ - public function getValueOfXForY($yValue) - { - return log(($yValue + $this->yOffset) / $this->getIntersect()) / log($this->getSlope()); - } - - /** - * Return the Equation of the best-fit line - * - * @param int $dp Number of places of decimal precision to display - * @return string - **/ - public function getEquation($dp = 0) - { - $slope = $this->getSlope($dp); - $intersect = $this->getIntersect($dp); - - return 'Y = ' . $intersect . ' * ' . $slope . '^X'; - } - - /** - * Return the Slope of the line - * - * @param int $dp Number of places of decimal precision to display - * @return string - **/ - public function getSlope($dp = 0) - { - if ($dp != 0) { - return round(exp($this->_slope), $dp); - } - return exp($this->_slope); - } - - /** - * Return the Value of X where it intersects Y = 0 - * - * @param int $dp Number of places of decimal precision to display - * @return string - **/ - public function getIntersect($dp = 0) - { - if ($dp != 0) { - return round(exp($this->intersect), $dp); - } - return exp($this->intersect); - } - - /** - * Execute the regression and calculate the goodness of fit for a set of X and Y data values - * - * @param float[] $yValues The set of Y-values for this regression - * @param float[] $xValues The set of X-values for this regression - * @param boolean $const - */ - private function exponentialRegression($yValues, $xValues, $const) - { - foreach ($yValues as &$value) { - if ($value < 0.0) { - $value = 0 - log(abs($value)); - } elseif ($value > 0.0) { - $value = log($value); - } - } - unset($value); - - $this->leastSquareFit($yValues, $xValues, $const); - } - - /** - * Define the regression and calculate the goodness of fit for a set of X and Y data values - * - * @param float[] $yValues The set of Y-values for this regression - * @param float[] $xValues The set of X-values for this regression - * @param boolean $const - */ - public function __construct($yValues, $xValues = array(), $const = true) - { - if (parent::__construct($yValues, $xValues) !== false) { - $this->exponentialRegression($yValues, $xValues, $const); - } - } -}