Metoda bisekcji - implementacja
Metoda bisekcji jest jednym z prostszych sposobów znajdowania miejsca zerowego funkcji. Miejsce zerowe to taka wartość x, dla której wynik funkcji jest równy zero lub bardzo bliski zeru.
Algorytm działa na wybranym przedziale od a do b. Na początku sprawdzamy, czy funkcja na końcach tego przedziału ma różne znaki. Oznacza to, że jedna wartość jest dodatnia, a druga ujemna. W takiej sytuacji możemy przyjąć, że pomiędzy nimi znajduje się miejsce zerowe.
Następnie program dzieli przedział na pół i oblicza wartość funkcji w jego środku. Na podstawie znaku wyniku wybiera tę połowę przedziału, w której nadal występuje zmiana znaku. Czynność ta jest powtarzana aż do uzyskania odpowiedniej dokładności.
Metoda bisekcji jest łatwa do zrozumienia i daje pewny wynik, pod warunkiem że początkowy przedział został poprawnie wybrany. Jej wadą jest to, że czasami trzeba wykonać wiele powtórzeń, aby otrzymać bardzo dokładny wynik.
Przeanalizujmy kod programu.
W pierwszej kolejności przyjrzyjmy się zastosowanym metodom/funkcją.
Funkcja o nazwie funkcja oblicza wartość podanej funkcji dla liczby x:
Funkcja o nazwie bezwzględna oblicza wartość bezwzględną z liczby x:
Najważniejszą funkcją jest metodaBisekcji przyjmująca cztery parametry:
double a – określa początek przedziału,
double b – koniec przedziału,
double Ex – określa dokładność wyniku dla osi x. Im mniejsza wartość Ex, tym dokładniejszy wynik otrzymamy,
double Ey – określa, jak blisko zera powinna znajdować się wartość funkcji. Gdy f(x) jest bardzo małe, uznajemy, że znaleźliśmy miejsce zerowe.
Poniżej możesz pobrać gotowy kod programu i go przetestować.