数学建模习题7.1

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

定义函数 g(x)

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

在区间 [0, 10] 上等间距取 1000 个点

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

计算这些点处的函数值

y = g(x)

使用三次样条插值

tck = spi.CubicSpline(x, y)

定义插值函数 g'(x)

def g_prime(x):
return tck(x)

计算 g(x) 在 [0, 10] 上的定积分(使用 scipy.integrate.quad)

def integrand_g(x):
return g(x)

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

计算 g'(x) 在 [0, 10] 上的定积分(使用插值函数)

integral_g_prime = spi_integrate.quad(g_prime, 0, 10)[0]

输出结果

print(f"g(x) 在 [0, 10] 上的定积分: {integral_g}")
print(f"g'(x) 在 [0, 10] 上的定积分: {integral_g_prime}")
print("3005")`

posted on 2024-11-17 13:16  VVV1  阅读(3)  评论(0编辑  收藏  举报