<? require('../FunctionFit.php');
$oFit=new FunctionFit; $oFit->SetData(array(0,1,2,3), array(0,1,2,3)); $oFit->AddData(4, 4); $aF=array('_x', '_x2'); $oFit->SetFunctions($aF); $aCoeffs=$oFit->Fit(); $aConf=$oFit->ConfInterval(0.95); $aRes=$oFit->GetValues(5);
if (php_sapi_name()=='cli') { echo "Equation: y=a0"; for ($i=1; $i<count($aCoeffs); $i++) { echo "+a$i*" . $aF[$i-1] . "(x)"; } echo "\n"; for ($i=0; $i<count($aCoeffs); $i++) { echo "a$i=" . $aCoeffs[$i] . "±" . $aConf[$i]. "\n"; } echo "r2=" . $oFit->R2() . "\n"; echo "x=5 -> y=" . $aRes . "\n"; } else { echo "Equation: y=a<sub>0</sub>"; for ($i=1; $i<count($aCoeffs); $i++) { echo "+a<sub>$i</sub>*" . $aF[$i-1] . "(x)"; } echo "<br>"; for ($i=0; $i<count($aCoeffs); $i++) { echo "a<sub>$i</sub>=" . $aCoeffs[$i] . "±" . $aConf[$i] . "</br>"; } echo "r<sup>2</sup>=" . $oFit->R2() . "</br>"; echo "x=5 -> y=" . $aRes . "</br>"; }
$oFit->SetData(array(0,1,2,3), array(array(0,1),array(1,2),array(2,3),array(3,4))); $oFit->AddData(4, array(4,5)); $aCoeffs=$oFit->Fit(); $aConf=$oFit->ConfInterval(0.95); $aRes=$oFit->GetValues(5);
if (php_sapi_name()=='cli') { for ($iEq=0; $iEq<count($aCoeffs[0]);$iEq++) { echo "Equation $iEq: y=a0"; for ($i=1; $i<count($aCoeffs); $i++) { echo "+a$i*" . $aF[$i-1] . "(x)"; } echo "\n"; for ($i=0; $i<count($aCoeffs); $i++) { echo "a$i=" . $aCoeffs[$i][$iEq] . "±" . $aConf[$i][$iEq]. "\n"; } echo "r2=" . $oFit->R2()[$iEq] . "\n"; echo "x=5 -> y=" . $aRes[$iEq] . "\n"; } } else { for ($iEq=0; $iEq<count($aCoeffs[0]);$iEq++) { echo "Equation $iEq: y=a<sub>0</sub>"; for ($i=1; $i<count($aCoeffs); $i++) { echo "+a<sub>$i</sub>*" . $aF[$i-1] . "(x)"; } echo "<br>"; for ($i=0; $i<count($aCoeffs); $i++) { echo "a<sub>$i</sub>=" . $aCoeffs[$i][$iEq] . "±" . $aConf[$i][$iEq] . "</br>"; } echo "r<sup>2</sup>=" . $oFit->R2()[$iEq] . "</br>"; echo "x=5 -> y=" . $aRes[$iEq] . "</br>"; } } function _x($adX) { return $adX; }
function _x2($adX) { if (!is_array($adX)) { $adXr= $adX*$adX; } else { $adXr=array(); foreach ( $adX as $dX ) $adXr[]=$dX*$dX;
} return $adXr; } ?>
|