每当我尝试使用 Sympy 来集成我的函数时,它不会对其求值,而只是返回我的输入乘以 1.0。
这是我的代码:
import sympy as sp
a = sp.Symbol('a')
Ωm = 0.31
Ωr = 9*(10**(-5))
ΩΛ = 0.69
Ω0 = Ωm + Ωr + ΩΛ
I = sp.integrate(((Ωm*a**(-1)) + (Ωr*a**(-2)) + (ΩΛ*a**(2)) + (1-Ω0))**(-0.5),a)
print(I)
这是我得到的答案:
1.0*Integral((0.69*a**2 - 8.99999999999235e-5 + 0.31/a + 9.0e-5/a**2)**(-0.5), a)
我哪里错了?这是一个超出 Sympy 能力的积分吗?如果是这样,有人知道评估该积分的更好方法吗?顺便说一句,限制是 0 和 a。
最佳答案
当 SymPy 返回一个未计算的积分时,这意味着它不知道如何计算它。
在这种情况下,被积函数是一个代数函数,SymPy 通常很难对其进行积分。
关于python - Sympy Integration 返回 1.0*Integral(..),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46857132/