Предмет: Информатика,
автор: yepboo4
Описать рекурсивную функцию 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
Похожие вопросы
Предмет: Химия,
автор: b9nk6zdkdm
Предмет: Химия,
автор: olenukdiana307
Предмет: Українська мова,
автор: moskalikilona511
Предмет: Право,
автор: vovanpazdnikov
Предмет: Литература,
автор: yolo30