处理列表中的inf

时间:2016-08-24 15:26:50

标签: python list numpy infinity

我有一个列表,我正在尝试为变量解决但是没有工作,因为我在列表中的某些元素中有inf。如何处理值中的inf,以便我可以求解我的变量m?当我运行代码时,它说“无法将0转换为int”,因此solve命令在A列表中的inf值有问题。

from sympy import *
from numpy import inf
m = var('m')
A = [inf*m - 1, inf*m - 2, .1122*m - 7, 0.054*m - 8]
m = [solve(eq,m) for eq in A]

1 个答案:

答案 0 :(得分:0)

混合sympynumpy通常不是一个好主意。 Sympy使用oo表示无穷大。您可以使用.subsinf替换为oo

from sympy import *
from numpy import inf
m = var('m')
A = [inf*m - 1, inf*m - 2, .1122*m - 7, 0.054*m - 8]
sol = [solve(eq.subs(inf, oo), m) for eq in A]

sol[[nan], [nan], [62.3885918003565], [148.148148148148]]