[英]Symbolic Integration in Python using Sympy
我想使用sympy庫在python中集成exp( - (x ^ 2 + y ^ 2))。 我可以找到exp的積分( - (x ^ 2))
>>> B1 = sympy.exp(-alpha1 * (r1_x**2))
>>> p = integrate(B1,r1_x)
>>> p
pi**(1/2)*erf(alpha1**(1/2)*r1_x)/(2*alpha1**(1/2))
但是當我想嘗試整合exp( - (x ^ 2 + y ^ 2))
>>> B1 = sympy.exp(-alpha1 * (r1_x**2 + r1_y**2))
>>> p = integrate(B1,r1_x)
>>> p
Integral(exp(-alpha1*(r1_x**2 + r1_y**2)), r1_x)
沒有輸出和python不能采取積分!
(我是SymPy的首席開發人員)
DSM是正確的,您可以通過調用expand來使其工作,並且沒有通用的方法來執行此操作(因為通常,積分沒有封閉的表單)。
我只是想指出,如果SymPy不能做一個封閉形式的積分,我們認為這是一個錯誤,您可以隨時在http://code.google.com/p/sympy/issues上報告它。 。
sympy
並不總能識別出每一種形式,所以有時你必須給它一些幫助:
>>> import sympy
>>> alpha1, r1_x, r1_y = sympy.var("alpha1 r1_x r1_y")
>>> B1 = sympy.exp(-alpha1 * (r1_x**2 + r1_y**2))
>>> B1.integrate(r1_x)
Integral(exp(-alpha1*(r1_x**2 + r1_y**2)), r1_x)
>>> B1.expand(alpha1)
exp(-alpha1*r1_x**2)*exp(-alpha1*r1_y**2)
>>> B1.expand(alpha1).integrate(r1_x)
sqrt(pi)*exp(-alpha1*r1_y**2)*erf(sqrt(alpha1)*r1_x)/(2*sqrt(alpha1))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.