<?php
//Designed to be run from a web server and displayed to a web browser
$lower = -2;
//Lower end of the interval
$higher = -1;
//Higher end of the interval
$decStep = 0.1;
//The starting iteration/step
$passes = 35;
//Number of times to repeat
$prevx = $lower;
$x = $lower + $decStep;
function f($x) {
return (-4*pow($x,3))+(12*$x)-5;
//Adjust the above line to suit the required function
}
for ($i=0; $i <= $passes; $i++) {
echo 'x = '.$prevx.' f(x) = '.f($prevx).'<br />';
if (f($x) * f($prevx) < 0) {
echo '<br /><br />***Found change of sign between '.$prevx.' and '.$x;
$lower = $prevx;
$higher = $x;
$decStep = $decStep / 10;
echo '***Lower = '.$lower.' Higher = '.$higher.' Step = '.$decStep.'<br /><br />';
$x = $lower + $decStep;
} else {
$prevx = $x;
$x = $x + $decStep;
}
}
?>
|