import numpy as np import scipy from scipy.interpolate import CubicSpline x = np.array([0., 1., 2., 3.]) y = x ** 3 curve = CubicSpline(x, y, bc_type=((1, 0.), (1, 27.)), extrapolate=False) assert abs(float(curve(1.5)) - 3.375) < 1e-10 assert abs(float(curve(1.5, 1)) - 6.75) < 1e-10 print(f"Midpoint value: {float(curve(1.5)):.6f}")