7.1

import numpy as np
import scipy.interpolate as spi
import scipy.integrate as spi_integrate

def g(x):
return ((3x**2 + 4x + 6) * np.sin(x)) / (x**2 + 8*x + 6)

生成x值

x_values = np.linspace(0, 10, 1000)

计算对应的y值

y_values = g(x_values)

创建三次样条插值

spline = spi.CubicSpline(x_values, y_values)

def h(x):
return spline(x)

积分g(x)从0到10

integral_g, _ = spi_integrate.quad(g, 0, 10)

生成更细的x值

x_fine = np.linspace(0, 10, 10000)

计算对应的y值

y_fine = h(x_fine)

积分h(x)从0到10

integral_h = np.trapz(y_fine, x_fine)

打印结果

print(f"积分 g(x) 从 0 到 10 的结果: {integral_g}")
print(f"积分 h(x) 从 0 到 10 的结果: {integral_h}")

2023310143007

posted @ 2024-11-18 17:47  2839663913  阅读(27)  评论(0)    收藏  举报