Chat gpt
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
// Pobieranie danych z formularza
$a = (float) $_POST['a'];
$b = (float) $_POST['b'];
$epsilon = (float) $_POST['epsilon'];
// Funkcja definiująca obliczanie wartości funkcji f(x)
function f($x) {
return pow($x, 3) - $x - 2;
}
// Algorytm połowienia
function metodaBisekcji($a, $b, $epsilon) {
if (f($a) * f($b) >= 0) {
echo "Funkcja nie zmienia znaku w przedziale [$a, $b]. Algorytm kończy działanie";
return null;
}
echo "Rozpoczynamy metodę bisekcji dla przedziału [$a, $b] z dokładnością $epsilon";
$iteration = 1;
while (($b - $a) / 2 > $epsilon) {
$c = ($a + $b) / 2; // Oblicz środek przedziału
echo "Iteracja $iteration: środek przedziału c = $c, f(c) = " . f($c);
if (f($c) == 0) {
echo "Znaleziono dokładny pierwiastek: c = $c;
return $c;
}
if (f($a) * f($c) < 0) {
$b = $c;
} else {
$a = $c;
}
$iteration++;
}
$c = ($a + $b) / 2;
echo "Znaleziono przybliżony pierwiastek: c = $c;
return $c;
}
// Uruchomienie algorytmu
metodaBisekcji($a, $b, $epsilon);
}