You've already forked qlg.tsgz.moe
addons
extend
alipay
app_alipay
image
org
phpexcel
PHPExcel
CachedObjectStorage
CalcEngine
Calculation
Cell
Chart
Reader
RichText
Shared
Escher
JAMA
OLE
PCLZip
trend
bestFitClass.php
exponentialBestFitClass.php
linearBestFitClass.php
logarithmicBestFitClass.php
polynomialBestFitClass.php
powerBestFitClass.php
trendClass.php
CodePage.php
Date.php
Drawing.php
Escher.php
Excel5.php
File.php
Font.php
OLE.php
OLERead.php
PasswordHasher.php
String.php
TimeZone.php
XMLWriter.php
ZipArchive.php
ZipStreamWrapper.php
Style
Worksheet
Writer
locale
Autoloader.php
CachedObjectStorageFactory.php
Calculation.php
Cell.php
Chart.php
Comment.php
DocumentProperties.php
DocumentSecurity.php
Exception.php
HashTable.php
IComparable.php
IOFactory.php
NamedRange.php
ReferenceHelper.php
RichText.php
Settings.php
Style.php
Worksheet.php
WorksheetIterator.php
PHPExcel.php
phpmailer
unionpay
verify
wechat
wxpay
.htaccess
hyhproject
mobile
oss
static
thinkphp
upload
vendor
wxtmp
.gitignore
.htaccess
.user.ini
404.html
admin.php
cash.lock
demo.php
get_startup.php
get_version.php
get_version_new.php
index.html
index.php
reg.lock
robots.txt
111 lines
3.3 KiB
PHP
Executable File
111 lines
3.3 KiB
PHP
Executable File
<?php
|
|
/**
|
|
* PHPExcel
|
|
*
|
|
* Copyright (c) 2006 - 2014 PHPExcel
|
|
*
|
|
* This library is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU Lesser General Public
|
|
* License as published by the Free Software Foundation; either
|
|
* version 2.1 of the License, or (at your option) any later version.
|
|
*
|
|
* This library is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
* Lesser General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
* License along with this library; if not, write to the Free Software
|
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
|
*
|
|
* @category PHPExcel
|
|
* @package PHPExcel_Shared_Trend
|
|
* @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel)
|
|
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
|
* @version 1.8.0, 2014-03-02
|
|
*/
|
|
|
|
|
|
require_once(PHPEXCEL_ROOT . 'PHPExcel/Shared/trend/bestFitClass.php');
|
|
|
|
|
|
/**
|
|
* PHPExcel_Linear_Best_Fit
|
|
*
|
|
* @category PHPExcel
|
|
* @package PHPExcel_Shared_Trend
|
|
* @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel)
|
|
*/
|
|
class PHPExcel_Linear_Best_Fit extends PHPExcel_Best_Fit
|
|
{
|
|
/**
|
|
* Algorithm type to use for best-fit
|
|
* (Name of this trend class)
|
|
*
|
|
* @var string
|
|
**/
|
|
protected $_bestFitType = 'linear';
|
|
|
|
|
|
/**
|
|
* Return the Y-Value for a specified value of X
|
|
*
|
|
* @param float $xValue X-Value
|
|
* @return float Y-Value
|
|
**/
|
|
public function getValueOfYForX($xValue) {
|
|
return $this->getIntersect() + $this->getSlope() * $xValue;
|
|
} // function getValueOfYForX()
|
|
|
|
|
|
/**
|
|
* Return the X-Value for a specified value of Y
|
|
*
|
|
* @param float $yValue Y-Value
|
|
* @return float X-Value
|
|
**/
|
|
public function getValueOfXForY($yValue) {
|
|
return ($yValue - $this->getIntersect()) / $this->getSlope();
|
|
} // function getValueOfXForY()
|
|
|
|
|
|
/**
|
|
* 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';
|
|
} // function getEquation()
|
|
|
|
|
|
/**
|
|
* 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 _linear_regression($yValues, $xValues, $const) {
|
|
$this->_leastSquareFit($yValues, $xValues,$const);
|
|
} // function _linear_regression()
|
|
|
|
|
|
/**
|
|
* 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
|
|
*/
|
|
function __construct($yValues, $xValues=array(), $const=True) {
|
|
if (parent::__construct($yValues, $xValues) !== False) {
|
|
$this->_linear_regression($yValues, $xValues, $const);
|
|
}
|
|
} // function __construct()
|
|
|
|
} // class linearBestFit
|