def f(x):
return x**4 - x - 1
a = -1.1
b = -0.1
h = 0.1
# Узлы
x = []
current = a
while current <= b + 1e-12:
x.append(round(current, 10))
current += h
y = [f(xi) for xi in x]
n = len(x)
y1 = [0] * n
y2 = [0] * n
for i in range(n):
if i == 0:
y1[i] = (y[i + 1] - y[i]) / h
y2[i] = (y[i + 2] - 2 * y[i + 1] + y[i]) / h**2
elif i == n - 1:
y1[i] = (y[i] - y[i - 1]) / h
y2[i] = (y[i] - 2 * y[i - 1] + y[i - 2]) / h**2
else:
y1[i] = (y[i + 1] - y[i - 1]) / (2 * h)
y2[i] = (y[i + 1] - 2 * y[i] + y[i - 1]) / h**2
print("Таблица значений:")
print(" i x y y' y''")
print("-" * 75)
for i in range(n):
print(f"{i:2d} {x[i]:10.5f} {y[i]:16.10f} {y1[i]:16.10f} {y2[i]:16.10f}")
print("\nПроверка точными производными:")
print(" i x y' точн. y'' точн.")
print("-" * 60)
for i in range(n):
exact_y1 = 4 * x[i]**3 - 1
exact_y2 = 12 * x[i]**2
print(f"{i:2d} {x[i]:10.5f} {exact_y1:16.10f} {exact_y2:16.10f}")