python符号积分

参考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))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值