【问题标题】:How to calculate derivative and integral of the bessel functions in PYTHON如何在 PYTHON 中计算贝塞尔函数的导数和积分
【发布时间】:2017-01-15 05:48:57
【问题描述】:

我想在python中计算修改后的贝塞尔函数的积分或导数。我想计算无限积分(无限制)。最近我找到了一种方法来做到这一点。您可以在下面看到一个简单函数 (x**2) 的示例:

from sympy import *
x = Symbol('x')
print integrate(x**2, x)

结果是: x^3/3 。但是当我放一个修改过的贝塞尔函数而不是 x**2 时:

import scipy.integrate as integrate
import scipy.special as special
from scipy import integrate
from sympy import *

x = Symbol('x')
print integrate(special.iv(1,x), x)

在这种情况下,我收到此错误:

AttributeError: 'module' 对象没有属性 'iv'

需要注意的是,第一类贝塞尔函数的积分是零类贝塞尔函数。我希望得到:iv(0,x)

如何在 python 中做到这一点?

【问题讨论】:

  • mpmath 做 Bessel 函数 mpmath.org/doc/current/functions/…
  • 您必须指定完整的模块名称:integrate(scipy.special.iv(1,x), x)。不幸的是,尽管有承诺,但显然 numpy 无法集成此功能。

标签: python integral derivative bessel-functions


【解决方案1】:

它可以很容易地进行数值积分, 说从限制 1 到 10

from scipy import integrate
import scipy.special as sp
def f(x):
    return sp.iv(1,x)
I,err=integrate.quad(f,1,10)
print(I,err)

积分的结果是 2814.4505625885026, 错误是 3.124667816254981e-11

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-10
    • 2011-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多