Połowienie przedziału krok po kroku

Miejsce zerowe funkcji metodą połowienia - Algorytmy: zakres rozszerzony (Python)

Jeśli funkcja ciągła ma na końcach przedziału [a, b] wartości przeciwnych znaków, to gdzieś w środku ma miejsce zerowe. Liczymy wartość w środku przedziału i zostawiamy tę połowę, na której końcach znaki nadal są różne. Funkcja f(x) = x^3 - x - 2 ma f(1) = -2 i f(2) = 4, więc jej miejsce zerowe leży między 1 a 2.

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


a, b = 1.0, 2.0
for step in range(1, 11):
    middle = (a + b) / 2
    if f(a) * f(middle) <= 0:
        b = middle
    else:
        a = middle
    print(f"{step:2}: [{a:.6f}, {b:.6f}]")

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

Wszystkie lekcje kursu Algorytmy: zakres rozszerzony·Zaloguj się, aby zapisać postęp na koncie.