Skip to main content
 首页 » 编程设计

python之Sympy Integration 返回 1.0*Integral(..)

2025年05月04日10yyy_WW

每当我尝试使用 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 通常很难对其进行积分。