def f(x):
# Коэффициенты 16 варианта: B = -0.205, C = -10.880, D = 1.469
# Уравнение: x^3 - B*x^2 + C*x - D = 0 -> f(x) = x^3 + 0.205*x^2 - 10.880*x - 1.469
return x**3 + 0.205*x**2 - 10.880*x - 1.469
def find_min_quadrisection(f, a, b, e=0.001, max_iter=1000):
for _ in range(max_iter):
length = b - a
if length < e:
return (a + b) / 2
x1 = a + length / 4
x2 = a + length / 2
x3 = a + 3 * length / 4
f1, f2, f3 = f(x1), f(x2), f(x3)
if f1 <= f2 and f1 <= f3:
b = x2
elif f2 <= f1 and f2 <= f3:
a = x1
b = x3
else:
a = x2
return (a + b) / 2
# Отрезок, содержащий минимум (можно подобрать по графику)
min_x = find_min_quadrisection(f, 1, 3)
print(f"Точка минимума: {min_x:.8f}")
print(f"Значение функции в минимуме: {f(min_x):.8f}")