def f(x):
return x**3 + 0.205*x**2 - 10.880*x - 1.469
def f_prime(x):
return 3*x**2 + 0.410*x - 10.880
def newton(x0, tol=1e-6, max_iter=100):
x = x0
for _ in range(max_iter):
fx = f(x)
if abs(fx) < tol:
return x
dfx = f_prime(x)
if dfx == 0:
raise RuntimeError("Производная равна нулю")
x_new = x - fx / dfx
if abs(x_new - x) < tol:
return x_new
x = x_new
return x
# Правый корень находится около 3.265
x0 = 3.3
root = newton(x0)
print(f"Метод Ньютона: x = {root:.8f}")
print(f"Значение функции f(x) = {f(root):.2e}")