用python画出一个二次函数,同时画出梯形法求积分时的各个梯形
时间: 2024-10-20 12:07:49 浏览: 30
在Python中,我们可以使用matplotlib库来绘制二次函数图像,以及使用numpy和plotly等库辅助计算并可视化梯形法则求积的过程。首先,让我们创建一个简单的二次函数示例,然后模拟梯形法。
```python
import matplotlib.pyplot as plt
import numpy as np
# 定义二次函数
def quadratic_function(x):
return x**2 + 2*x + 1
# 梯形法积分参数设置
x_min = -5
x_max = 5
n_intervals = 100 # 分割成的梯形数量
dx = (x_max - x_min) / n_intervals
# 计算x轴点
x_points = np.linspace(x_min, x_max, n_intervals + 1)
# 初始化积分结果列表
integral_values = []
# 梯形法求积分
for i in range(n_intervals):
integral_value = 0.5 * (quadratic_function(x_points[i]) + quadratic_function(x_points[i+1])) * dx
integral_values.append(integral_value)
# 绘制二次函数
plt.figure()
plt.plot(x_points, quadratic_function(x_points), label='Quadratic Function')
plt.xlabel('x')
plt.ylabel('y')
plt.legend()
# 绘制梯形区域
for i in range(1, len(integral_values)):
plt.fill_between([x_points[i-1], x_points[i]], [0, 0], [quadratic_function(x_points[i-1]), quadratic_function(x_points[i])], alpha=0.2)
plt.title('Trapezoidal Rule for Quadratic Function')
plt.grid(True)
plt.show()
阅读全文