SciPy - integration.newton_cotes() 方法

SciPy integrate.newton-cotes() 方法用于返回 Newton-Cotes 积分的权重和误差系数。让我们详细了解权重和误差系数的术语 −

  • 权重:此系数适用于表示指定点的函数。因此,这将执行积分。
  • 误差系数:使用精确积分一定次数的多项式的公式计算权重。

语法

以下是 SciPy integrate.newton-cotes() 方法的语法 −

newton_cotes(int_val)

参数

此方法仅接受单个参数,通过确定整数形式的阶值。

返回值

此方法以两种不同的形式返回结果 −浮点数和列表。

示例 1

以下是展示 SciPy integrate.newton-cotes() 方法用法的基本示例。

import numpy as np
from scipy import integration
def exp_fun(x):
    return np.exp(-x)

res = integration.romberg(exp_fun, 0, 1)
print("将 exp(-x) 从 0 积分到 1 的结果:", res)

# Newton-Cotes 规则的顺序
rn = 4

# 计算权重和误差系数
weights, error_coeff = integration.newton_cotes(rn)
print("权重为 ", weights)
print("误差系数为 ", error_coeff)

输出

上述代码产生以下输出 −

将 exp(-x) 从 0 积分到 1 的结果为:0.63212055882857
权重为 [0.31111111 1.42222222 0.53333333 1.42222222 0.31111111]
误差系数为 -0.008465608465608466

示例 2

下面的程序使用权重执行数值积分任务。

import numpy as np
from scipy.integrate import newton_cotes

# 定义要积分的函数
def fun(x):
return np.sin(x)

# 定义区间 [a, b]
a = 0
b = np.pi

# Newton-Cotes 规则的阶数
rn = 3

# 计算权重和误差系数
weights, _ = newton_cotes(rn)

# 计算函数求值的点
x = np.linspace(a, b, rn+1)

# 计算积分近似值
integral_approx = (b - a) * np.dot(weights, fun(x)) / rn
print("近似积分的结果:",integral_approx)

输出

上述代码产生以下输出 −

近似积分的结果:2.040524284763495

scipy_reference.html