Описать рекурсивную функцию Root (а, b, ε), которая методом деления отрезка пополам
находит с точностью ε корень уравнения f(x) = 0 на отрезке [а, b] (считать, что ε > 0, а< b,
f(a) - f(b) < 0 и f(x) — непрерывная и монотонная на отрезке [а, b] функция)
Python
Ответы
Ответ дал:
2
def root(f, a, b, eps):
# Calculate the midpoint of the interval
mid = (a + b) / 2
# If the interval is smaller than the precision, return the midpoint
if abs(b - a) < eps:
return mid
# Recursively search for the root in the left or right interval
if f(mid) > 0:
return root(f, a, mid, eps)
else:
return root(f, mid, b, eps)
# Test the function
def f(x):
return x**2 - 2
print(root(f, 0, 2, 0.001)) # 1.4142135620117188
Вас заинтересует
1 год назад
1 год назад
1 год назад
2 года назад