二维高斯函数的部分积分
partial integration of a two dimensional gaussian function
我想对一个四变量(x
、y
、alpha
和beta
)的二维高斯函数进行如下偏积分,仅针对 x
和 y
,如下所示。最后,我希望答案仅是 alpha
和 beta
的函数。
我在python中写了下面的代码来执行上面提到的积分。
from sympy import Symbol
from sympy import integrate
from math import e
alpha = Symbol('alpha')
beta = Symbol('beta')
x = Symbol('x')
y = Symbol('y')
n = 2
value = integrate( e**( -(x - alpha)**n - (y - beta)**n ), (x, -1, 1), (y, -1, 1) )
但是我收到以下错误:
sympy.polys.polyerrors.DomainError: there is no ring associated with RR
上面提到的集成函数在 n=1 时工作正常。然而它分解为 n>1.
我是不是做错了什么?
欢迎来到 SO!
有趣的是,当您将 alpha
和 beta
代入整数边界时,它会起作用。尝试:
from IPython.display import display
import sympy as sy
sy.init_printing() # LaTeX like pretty printing forIPython
alpha, beta, x, y = sy.symbols("alpha, beta, x, y", real=True)
f = sy.exp(-x**2 - y**2) # sy.exp() is better than the numeric constant
val = sy.integrate(f, (x, -1+alpha, 1+alpha), (y, -1+beta, 1+beta))
display(val)
我想对一个四变量(x
、y
、alpha
和beta
)的二维高斯函数进行如下偏积分,仅针对 x
和 y
,如下所示。最后,我希望答案仅是 alpha
和 beta
的函数。
我在python中写了下面的代码来执行上面提到的积分。
from sympy import Symbol
from sympy import integrate
from math import e
alpha = Symbol('alpha')
beta = Symbol('beta')
x = Symbol('x')
y = Symbol('y')
n = 2
value = integrate( e**( -(x - alpha)**n - (y - beta)**n ), (x, -1, 1), (y, -1, 1) )
但是我收到以下错误:
sympy.polys.polyerrors.DomainError: there is no ring associated with RR
上面提到的集成函数在 n=1 时工作正常。然而它分解为 n>1.
我是不是做错了什么?
欢迎来到 SO!
有趣的是,当您将 alpha
和 beta
代入整数边界时,它会起作用。尝试:
from IPython.display import display
import sympy as sy
sy.init_printing() # LaTeX like pretty printing forIPython
alpha, beta, x, y = sy.symbols("alpha, beta, x, y", real=True)
f = sy.exp(-x**2 - y**2) # sy.exp() is better than the numeric constant
val = sy.integrate(f, (x, -1+alpha, 1+alpha), (y, -1+beta, 1+beta))
display(val)