复化Simpson公式

def Simpson(func, n):x_array = np.linspace(0, np.pi/2, 7)item_0 = 1item_1 = 0for idx in range(1, n):print(f"now is cal the seconod item with k = {idx}")item_1 += func(x_array[idx])item_1 *= 2item_2 = 0for idx in range(0, n):real_x = (x_array[idx] + x_array[idx+1])/2print(f"now is cal the third item with k = {idx}")item_2 += func(real_x)item_2 *= 4item_3 = func(x_array[-1])S = (x_array[-1] - x_array[0])/(6*n) * (item_0 + item_1 + item_2 + item_3)return S
