Дракошикина Заварка
Гуру
(3697)
1 месяц назад
def f(x):
return x**3 - 5
def golden_section_search(a, b, epsilon):
while abs(b - a) > 2 * epsilon:
x1 = a + (b - a) / 3
x4 = b - (b - a) / 3
x2 = x1 + (x4 - x1) / 3
x3 = x4 - (x4 - x1) / 3
F2 = f(x2)
F3 = f(x3)
if F2 < F3:
b = x3
else:
a = x2
x = (a + b) / 2
fx = f(x)
return x, fx
# Начальные условия
a = -1
b = 3
epsilon = 0.01
# Выполнение алгоритма
result_x, result_fx = golden_section_search(a, b, epsilon)
print(f"Минимум функции: x = {result_x}, f(x) = {result_fx}")