python复合梯形公式计算积分
时间: 2024-11-09 16:30:06 浏览: 35
在Python中,复合梯形公式(Composite Trapezoidal Rule)是一种数值积分方法,用于估算函数在一个区间上的定积分值。它通过将积分区域划分为多个小的梯形,然后累加每个梯形面积来近似原函数的积分。公式一般表示为:
\[ \int_{a}^{b} f(x) dx ≈ \frac{h}{2} \left[ f(a) + 2\sum_{i=1}^{n-1}f(x_i) + f(b) \right] \]
其中:
- \( a \) 和 \( b \) 是积分区间的下限和上限,
- \( h = \frac{b - a}{n} \) 是每个梯形的宽度,\( n \) 是等分的份数,
- \( x_i = a + i \cdot h \) 是每个分割点的坐标。
要编写Python代码实现这个公式,你可以这样做:
```python
def composite_trapezoidal_rule(f, a, b, n):
h = (b - a) / n
sum_function_values = f(a) + 0.5 * (f(a+h) + f(b-h)) # 首尾两个梯形加上中间(n-1)个梯形
for _ in range(1, n-1):
sum_function_values += f(a + _*h)
return h * sum_function_values
# 使用示例
def my_function(x):
# 替换这里的with实际的函数表达式
return x ** 2
integral_approximation = composite_trapezoidal_rule(my_function, 0, 1, 100)
print(f"复合梯形法积分的近似值: {integral_approximation}")
阅读全文