ILIAS  Release_4_0_x_branch Revision 61816
 All Data Structures Namespaces Files Functions Variables Groups Pages
logarithmicBestFitClass.php
Go to the documentation of this file.
1 <?php
30 if (!defined('PHPEXCEL_ROOT')) {
34  define('PHPEXCEL_ROOT', dirname(__FILE__) . '/../../../');
35 }
36 
37 require_once(PHPEXCEL_ROOT . 'PHPExcel/Shared/trend/bestFitClass.php');
38 
39 
48 {
49  protected $_bestFitType = 'logarithmic';
50 
51 
52  public function getValueOfYForX($xValue) {
53  return $this->getIntersect() + $this->getSlope() * log($xValue - $this->_Xoffset);
54  } // function getValueOfYForX()
55 
56 
57  public function getValueOfXForY($yValue) {
58  return exp(($yValue - $this->getIntersect()) / $this->getSlope());
59  } // function getValueOfXForY()
60 
61 
62  public function getEquation($dp=0) {
63  $slope = $this->getSlope($dp);
64  $intersect = $this->getIntersect($dp);
65 
66  return 'Y = '.$intersect.' + '.$slope.' * log(X)';
67  } // function getEquation()
68 
69 
70  private function _logarithmic_regression($yValues, $xValues, $const) {
71  $mArray = $xValues;
72  $xValues = array_map('log',$xValues);
73 
74  $this->_leastSquareFit($yValues, $xValues, $const);
75  } // function _logarithmic_regression()
76 
77 
78  function __construct($yValues, $xValues=array(), $const=True) {
79  if (parent::__construct($yValues, $xValues) !== False) {
80  $this->_logarithmic_regression($yValues, $xValues, $const);
81  }
82  } // function __construct()
83 
84 } // class logarithmicBestFit