使Sympy的方程组可迭代

时间:2018-04-10 09:01:46

标签: python sympy iterable equation-solving

我试图找出一种有效的方法来解决Sympy"自动"中的方程组。让我举例说明,这是制定代码的标准方法

n = 3  
y = sp.symbols('y1:{}'.format(n + 1))
TempDict1=(sp.solve([Dem_s[0],Dem_s[1]],(y[0],y[1])))

我想让它可迭代,因此方程组系统会根据Dem_s和y列表中存在多少个方程和变量来更新自己。

我尝试了以下内容:

Templist=[]
for i in range(n-1):
    Templist.append(y[i])

TempDict1={}
for i in range(n-1):
    TempDict1=sp.solve([Dem_s[i]], (Templist))

然而,这不会解决它。你有什么建议吗?

提前致谢。

1 个答案:

答案 0 :(得分:0)

第一个片段更好地表达为

n = 3  
y = sp.symbols('y1:{}'.format(n + 1))
TempDict1 = sp.solve(Dem_s, y)

如果您有变量元组y,则无需使用(y[0], y[1])解包并重新打包它。传递y应该完全符合您的要求。

您没有说明Dem_s是如何形成的,但只要它是SymPy表达式的列表或元组,上面的内容就可以了。

相关问题