PYI_R_W14_M28 Miejsca zerowe funkcji
Podsumowanie
Metodę bisekcji możemy stosować dla dowolnej funkcji, o ile jest ona ciągła w badanym przedziale .
Oto wykres przykładowej funkcji, której miejsce zerowe z przedziału można wyznaczyć za pomocą metody bisekcji:

Zapoznajmy się z programem, który obliczy miejsce zerowe funkcji metodą bisekcji w przedziale .
Wykonanie przedstawionego kodu z podanymi argumentami da następujący wynik:
Wyznaczmy miejsce zerowe wielomianu funkcji w przedziale :
Wykonanie przedstawionego kodu z podanymi argumentami da następujący wynik:
Możemy sprawdzić poprawność wyniku, analizując przebieg badanej funkcji:

Zmodyfikujmy wcześniejszy kod w taki sposób, aby sprawdzić, jakie wyniki otrzymamy dla coraz mniejszej wartości przybliżenia (czyli dla coraz większej precyzji wyznaczenia miejsca zerowego). W celu wyświetlenia wyniku, zastosujemy konwencję f‑string:
Przedstawiony kod po wykonaniu zwróci następujący komunikat:
Ograniczeniem przykładowego programu jest to, że funkcja f(x) została zdefiniowana statycznie. Nie możemy wykorzystywać zapisanego kodu w celu wyznaczania miejsc zerowych innych funkcji. Spróbujmy to zmienić. Użyjemy w tym celu funkcji eval(), która służy obliczaniu wartości wyrażenia podanego jej jako parametr tekstowy. Jeżeli w tym wyrażeniu znajdą się nazwy zmiennych, to funkcja eval() wykorzysta do wykonania podanego jej wyrażenia zapisane w nim zmienne, bez potrzeby przekazywania ich do funkcji.
Napiszmy kod funkcji pobierającej jako argument inną funkcję (taką, której miejsce zerowe chcemy znaleźć).
Jako wynik działania przedstawionego kodu otrzymamy:
Napiszmy program, który wyznaczy miejsce zerowe badanej funkcji z wykorzystaniem zaprezentowanego kodu oraz przedstawi rozwiązanie w postaci graficznej.
Możemy w prosty sposób zwizualizować działanie programu – w podanym przykładzie miejsce zerowe oznaczone jest czerwonym znakiem :

Podsumujmy najważniejsze informacje:
Miejsca zerowe funkcji ciągłych można wyznaczać metodą bisekcji.
Moduł
matplotlibmożna zastosować do przedstawiania wykresów funkcji.Funkcja
eval()umożliwia obliczenie wartości wyrażeń zapisanych w postaci tekstowej.
Słownik
wbudowana funkcja języka Python, która może służyć do dynamicznego wyliczania wartości wyrażenia; parsuje ona podane jej wyrażenie do kodu w języku Python i zwraca rezultat wykonania tego kodu
sposób zapisywania zmiennych w łańcuchu znaków przeznaczonym do wyświetlenia za pomocą funkcji print(), dostępny począwszy od wersji 3.6 języka Python; polecenie wykorzystujące mechanizm f‑string ma postać: f"Napis, a w nim {zmienna} do wypisania"; dokładnie opisany w dokumencie PEP 498 – Literal String Interpolation
w języku Python istnieje możliwość przekazywania funkcji jako parametru innej funkcji; funkcja może też być zwracana po użyciu słowa kluczowego return