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.