我想对四个变量(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而崩溃。
我做错了吗?
答案 0 :(得分:0)
欢迎来到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)