pythonscipy求函数定积分python scipy 求函数定积分
"""
定积分处理求函数起始==>终⽌的⾯积
"""
import numpy as np
import matplotlib.pyplot as mp
import matplotlib.patches as mc
import scipy.integrate as si
# 定义多项式函数
def f(x):
return2* x **2+3* x +4
# 准备数据绘制函数
a, b =-5,5
x = np.linspace(-5,5,1000)
y = f(x)
id(line)
mp.plot(x, y, color="dodgerblue", linewidth=5)
# 使⽤微元法求定积分
n =50
px = np.linspace(a, b, n +1)
py = f(px)
area =0
for i in range(n):# 遍历梯形求⾯积
area +=(py[i +1]+ py[i])*(px[i +1]- px[i])/2
print(area)
# 使⽤函数求定积分
result = si.quad(f, a, b)# 函数起点终点
print(result)
# 绘制间隔图
for i in range(n):
[px[i],0],[px[i], py[i]],
[px[i +1], py[i +1]],[px[i +1],0]],
fc="deepskyblue", ec="dodgerblue", alpha=0.5
))
mp.show()
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论