ILIAS  Release_4_0_x_branch Revision 61816
 All Data Structures Namespaces Files Functions Variables Groups Pages
exponentialBestFitClass.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 = 'exponential';
50 
51 
52  public function getValueOfYForX($xValue) {
53  return $this->getIntersect() * pow($this->getSlope(),($xValue - $this->_Xoffset));
54  } // function getValueOfYForX()
55 
56 
57  public function getValueOfXForY($yValue) {
58  return log(($yValue + $this->_Yoffset) / $this->getIntersect()) / log($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.'^X';
67  } // function getEquation()
68 
69 
70  public function getSlope($dp=0) {
71  if ($dp != 0) {
72  return round(exp($this->_slope),$dp);
73  }
74  return exp($this->_slope);
75  } // function getSlope()
76 
77 
78  public function getIntersect($dp=0) {
79  if ($dp != 0) {
80  return round(exp($this->_intersect),$dp);
81  }
82  return exp($this->_intersect);
83  } // function getIntersect()
84 
85 
86  private function _exponential_regression($yValues, $xValues, $const) {
87  $mArray = $xValues;
88  $yValues = array_map('log',$yValues);
89 
90  $this->_leastSquareFit($yValues, $xValues, $const);
91  } // function _exponential_regression()
92 
93 
94  function __construct($yValues, $xValues=array(), $const=True) {
95  if (parent::__construct($yValues, $xValues) !== False) {
96  $this->_exponential_regression($yValues, $xValues, $const);
97  }
98  } // function __construct()
99 
100 } // class exponentialBestFit