- trapz函数
利用梯度规则(trapezoidal rule)求解积分。
from numpy import trapz
trapz(y, x, dx=0.001)
- simps函数
利用辛普森积分法(simpson’s rule),以二次曲线逼近的方式取代矩形或梯形积分公式,以求得定积分的数值近似解。
from scipy.integrate import simps
simps(y, x, dx=0.001)
- 利用多边形求解
def polyarea(x,y):
return 0.5*np.abs(np.dot(x,np.roll(y,1))-np.dot(y,np.roll(x,1)))
polyarea(np.append(x, 0), np.append(y, 0))