python中积分怎么表示_python中的数值积分与符号积分

旁白:当你创建一个符号表达式时,保持它的象征性。不要混合使用真正的浮点np.pi和复杂的浮点1j,而是使用SymPy的pi和{}。在from sympy import exp, pi, I, besselj, symbols

x, r = symbols('x r')

integrand = exp(-x**2) * exp(pi*I*(-x)) * besselj(0, r*x) * x

但是是的,它看起来并不能把贝塞尔函数的乘积与exp(-x**2) * exp(pi*I*(-x))积分。当r被1代替时,这种情况已经发生了,所以r的符号性质与此无关。在

直接回答您的问题:Is there any way of performing numerical integration with symbolic variables?

没有,就像没有干水一样。这在术语上是矛盾的。在Is the only other alternative defining the values of r a priori and finding the integral for each one of them?

是的。可以通过SymPy(称为mpmath)完成:

^{pr2}$

考虑到这个函数的值很复杂,我们还不太清楚如何绘制这个函数。也许你是想画出强度的绝对值?在

总之,与sypy/mpmath(纯Python)的集成对于绘图来说太慢了。最好使用SciPy的quad进行集成。它不处理复被积函数,所以我把实部和复部分别积分。在from scipy.integrate import quad

from scipy.special import jn

integrand = lambda x, r: np.ex

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值