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.