参考ailearning
积分和求导的关系如下:

符号运算可以用 sympy 模块完成。
先导入 init_printing 模块方便其显示
from sympy import init_printing
from sympy import symbols, integrate
import sympy
产生 x 和 y 两个符号变量,并进行运算:
x, y = symbols('x y')
z = sympy.sqrt(x**2 + y**2)

赋值,x = 3, y = 4
z = z.subs(x, 3).subs(y, 4) # print 5
print(z)
对sin(x) ** 2进行积分
xita = symbols('x')
y = sympy.sin(xita) ** 2
Y = integrate(y)
print(Y)
得到答案: ![]()
计算Y(pi) - Y(0)
#计算Y(pi) - Y(0)
ans = Y.subs(xita, np.pi) - Y.subs(xita, 0)
print(ans)
![]()
Y = integrate(y, (xita, 0, sympy.pi))
print(Y)
显示的是字符表达式,查看具体数值可以使用 evalf() 方法,或者传入 numpy.pi,而不是 sympy.pi
![]()
积分如此简单。。。
Y_indef = sympy.Integral(y)
Y_indef

如果想拿到这个表达式,将其向量化即可
xita = symbols('x')
y = sympy.sin(xita) ** 2
Y_raw = lambda x: integrate(y, (xita, 0, x))
Y = np.vectorize(Y_raw)
x = np.linspace(0, 2 * np.pi)
p = plt.plot(x, Y(x))



被折叠的 条评论
为什么被折叠?



