求 ∫ 0 1 e x d x 求\begin{matrix} \int_{0}^{1} e^{x}\, dx\end{matrix} 求∫01exdx
方法一:
from sympy import *
import math
x = symbols('x')
print(integrate(math.e**x, (x, 0, 1)))
方法二:
首先把积分区间分成N小段,然后计算每段间隔对应的小矩形面积(底为dx,高为对应的函数值),接着将它们累加求和,得到的积分值。
import numpy as np
#进行积分时,现将积分区间分成N段,N在不超限度时越大结果越精确
N=100000
x=[]
for k in range(0,N):
x.append(1/N*k) #将积分区间分成n段放入x数组内
dx=[] #dx数组代表微分值
y=[] #y代表N个离散化的x的对应的函数值
#循环得到完整的dx,y数组
for k in range(0,N-1):
y.append(np.exp(x[k]))
dx.append(x[k+1]-x[k])
#将x、y、dx转化成numpy的矩阵格式
x=np.matrix(x)
y=np.matrix(y)
dx=np.matrix(dx)
#对应位置的dx,y相乘,累加起来就是积分值
I_num=np.sum(np.multiply(y,dx))