我有一个列表,我正在尝试为变量解决但是没有工作,因为我在列表中的某些元素中有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]
答案 0 :(得分:0)
混合sympy
和numpy
通常不是一个好主意。 Sympy使用oo
表示无穷大。您可以使用.subs
将inf
替换为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]]