Go Back
<HTML>
<HEAD>
<TITLE>Iteration results</TITLE>
</HEAD>
<? include("header.html"); ?>
<CENTER>
<A HREF="#results">Iteration Results</A> |
<A HREF="#form">Try another function</A><BR>
View the php <A HREF="parabolacode.phtml">source code</A>!<BR>
View the form <A HREF="logistic.html#code">source code</A>!<BR>
<HR>
</CENTER>
<A name="results">
<CENTER>
<P>The function <B>x<sub>next</sub> = <? echo $function; ?></B> at
<I>k</I> = <? echo $kval; ?> and
<I>x<sub>0</sub></I> = <? echo $xval; ?>:</P>
</CENTER>
<?
$xorig = $xval;
//
// ERROR CHECKING
//
$errors = 0;
if ($function == "y = k*x*(1-x)")
{
// CHECK BOUNDARIES FOR K, X IN LOGISTIC EQUATION
if ($kval < 1 || $kval > 4)
{
echo "Error: <B><I>k</I></B> must be in the range [1,4].<BR>";
$errors++;
}
if ($xval <= 0 || $xval >= 1)
{
echo "Error: <B><I>x<sub>0</sub></I></B> must be in the range (0,1).<BR>";
$errors++;
}
}
// CHECK FOR VALID NUMBER OF ITERATIONS
if ($nIter < 1)
{
echo "Error: there must be a positive number of iterations.<BR>";
$errors++;
}
if ($nIter >= 1000)
{
echo "Error: too many iterations.";
echo "Please choose a number less than 1000.<BR>";
$errors++;
}
if ($nIter != floor($nIter))
{
echo "Error: there must be an integral number of iterations.<BR>";
$errors++;
}
//
// DO ITERATIONS!
//
if ($errors == 0) for ($index=0, $xlast=$xval-1; $index<=$nIter; $index++)
{
echo "x<sub>";
echo $index;
echo "</sub>";
// CHECK FOR CONVERGENCE
if (floor($xval*pow(10,14)) == floor($xlast*pow(10,14)))
{
echo "...x<sub>";
echo $nIter;
echo "</sub>";
}
echo ": ";
echo $xval;
echo "<br>\n";
// BREAK IF THE SEQUENCE HAS CONVERGED
if (floor($xval*pow(10,14)) == floor($xlast*pow(10,14))) break;
$xlast = $xval;
// FIND NEXT ITERATION
switch ($function)
{
case "y = k*x*(1-x)":
$xval = $kval * $xval * (1 - $xval);
break;
case "y = sin(k/x)":
$xval = sin($kval / $xval);
break;
case "y = k*e^(cos x)":
$xval = $kval * exp(cos($xval));
break;
case "y = k*sqrt(x)":
$xval = $kval * sqrt($xval);
break;
default:
$xval = "Error: bad function";
};
}
?>
<HR>
<A name="form">
<?
//
// RECREATE FORM
//
echo "<CENTER><P>\n";
echo '<FORM name="data" ACTION="parabola.php3" METHOD=POST>'."\n";
echo "The function:<BR>\n";
echo '<SELECT name="function">'."\n";
echo "<OPTION";
if ($function == "y = k*x*(1-x)") echo " SELECTED";
echo ">y = k*x*(1-x)\n";
echo "<OPTION";
if ($function == "y = sin(k/x)") echo " SELECTED";
echo ">y = sin(k/x)\n";
echo "<OPTION";
if ($function == "y = k*e^(cos x)") echo " SELECTED";
echo ">y = k*e^(cos x)\n";
echo "<OPTION";
if ($function == "y = k*sqrt(x)") echo " SELECTED";
echo ">y = k*sqrt(x)";
echo "</SELECT></P>\n";
echo '<TABLE border=1 bgcolor="#CCCCCC"><TR><TD valign=center>'."\n";
echo '<TABLE border=0 valign=center>'."\n";
echo '<TR><TD align=right><FONT color="#000000">';
echo '<B><I>k</I></B> value:</FONT></TD>';
echo "\n".'<TD align=left><INPUT TYPE=text NAME="kval" value="';
echo $kval.'"></TD></TR>'."\n";
echo '<TR><TD align=right><FONT color="#000000"><B><I>x<sub>0</sub></I></B>';
echo 'value:</FONT></TD>'."\n";
echo '<TD align=left><INPUT TYPE=text NAME="xval" value="';
echo $xorig.'"></TD></TR>'."\n";
echo '<TR><TD align=right><FONT color="#000000">Iterations:</FONT></TD>';
echo "\n".'<TD align=left><INPUT TYPE=text NAME="nIter" value="';
echo $nIter.'"></TD></TR>'."\n";
echo '<TR><TD colspan=2 align=center><INPUT type=submit value="Submit">';
echo "</TD></TR>\n";
echo "</TABLE>\n";
echo "</FONT>\n";
echo "</TD></TR></TABLE></FORM>\n";
echo "</CENTER>\n";
?>
<? include("footer.html") ?>
</HTML>