评估 float('inf') 乘以 Python 的符号变量

Evaluation float('inf') times symbolic variable with Python

我需要对从 0 到无穷大的 'r' 积分 exp(-c1*r),其中 'c1''r' 是符号。

问题似乎发生在计算 inf*c1 不等于 inf

import sympy
from sympy import *

# Defining the variable 
c1 = Symbol('c1', positive=True)
r =  Symbol('r')

print float('inf')*2
print float('inf')*c1
print integrate(exp(-c1*r),(r,0,10000))
print integrate(exp(-c1*r),(r,0,float('inf')))

怎么做 -inf*c1 = -inf

您可能想使用 sympy.oo,这是 Sympy 的无穷大符号。尝试:

from IPython.display import display
import sympy as sy


sy.init_printing()  # LaTeX like pretty printing for IPython

r = sy.Symbol('r', real=True)
c1 = sy.Symbol('c_1', positive=True)

f = sy.exp(-c1*r)
F = sy.integrate(f, (r, 0, sy.oo))
display(F)