Zmiana znaku

Miejsce zerowe funkcji z zadaną dokładnością - Informatyka - liceum klasa 2, zakres rozszerzony (Python)

Jeśli funkcja ciągła ma na końcach przedziału `[a, b]` wartości o **różnych znakach** (`f(a) · f(b) < 0`), to gdzieś w środku przyjmuje wartość 0. Metoda połowienia (bisekcja) sprawdza znak w środku i zostawia tę połowę, na której końcach znaki nadal są różne. Program szuka miejsca zerowego `f(x) = x³ - x - 2` w przedziale `[1, 2]`.

def f(x):
    return x ** 3 - x - 2

a, b = 1.0, 2.0
print("f(a) =", f(a), "f(b) =", f(b))
while b - a > 0.0001:
    middle = (a + b) / 2
    if f(a) * f(middle) <= 0:
        b = middle
    else:
        a = middle
print("miejsce zerowe około", round((a + b) / 2, 4))

Ładowanie interaktywnego edytora... Jeśli się nie pojawi, włącz JavaScript.

Wszystkie lekcje kursu Informatyka - liceum klasa 2, zakres rozszerzony·Zaloguj się, aby zapisać postęp na koncie.