SciPy - integration.simpson() 方法
SciPy integrate.simpson() 方法用于使用辛普森规则近似函数的积分。此规则适用于偶数个区间。
假设有两个样本 N(偶数)和 N-1(奇数)。为了处理奇数间隔的情况,simpson() 方法提供了 even 参数来控制这种情况。
语法
以下是 SciPy integrate.simpson() 方法的语法 −
simpson(y, x)
参数
此方法接受两个参数 −
- y:此参数表示简单的数学任务,例如 sin()、exp() 等。
- x:通过使用此参数,我们可以表示以下 −数组和内置函数。
返回值
此方法返回浮点值作为结果。
示例 1
以下是展示 SciPy integrate.simpson() 方法用法的基本示例。
import numpy as np
from scipy import integration
# 0 到 10 之间的 100 个样本点
x = np.linspace(0, 10, 100)
y = x**2
res_integral = integration.simpson(y, x)
print("结果值为 ", res_integral)
输出
上述代码产生以下结果 −
结果值为 333.333505101692
示例 2
在这里,我们使用 Simpson 规则 和 50 个采样点对 sin(x) 函数从 0 到 pi 的范围进行积分。
import numpy as np
from scipy.integrate import simpson
# 0 到 π 之间的 50 个采样点
x = np.linspace(0, np.pi, 50)
y = np.sin(x)
res_integral = simpson(y, x)
print("结果值为", res_integral)
输出
上述代码产生以下结果 −
结果值为 1.999999483788026
说明:这是一个近似值,非常接近 2,它决定了处理奇数间隔时的高精度。
示例 3
下面是另一个使用辛普森规则的程序,它将给定的输入显示为列表 (x) 的数组。然后它使用 exp() 来帮助设置少量数据点(偶数)。最后,使用 simpson 方法得到结果(近似值)。
import numpy as np
from scipy.integrate import simpson
x = np.array([0, 0.1, 0.4, 0.8, 1.0])
y = np.exp(x)
res_integral = simpson(y, x)
print("结果值为 ", res_integral)
输出
上述代码产生以下结果 −
结果值为 1.7173084152992835

scipy_reference.html