求 ∫ 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))
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐