Równanie jako miejsce zerowe
Przybliżone rozwiązywanie równań a wyszukiwanie binarne - Informatyka - liceum klasa 2, zakres rozszerzony (Python)
Równanie `f(x) = g(x)` rozwiązuje się jak szukanie miejsca zerowego funkcji `h(x) = f(x) - g(x)`. Program rozwiązuje `2ˣ = x + 3` w przedziale `[0, 3]`, bo `h(0) = -2 < 0` i `h(3) = 2 > 0`.
def h(x):
return 2 ** x - (x + 3)
a, b = 0.0, 3.0
while b - a > 1e-9:
middle = (a + b) / 2
if h(a) * h(middle) <= 0:
b = middle
else:
a = middle
x = (a + b) / 2
print(x, 2 ** x, x + 3)Ł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.