【问题标题】:Sympy Linsolve unexpected resultsSympy Linsolve 出乎意料的结果
【发布时间】:2021-03-25 12:02:07
【问题描述】:

我正在尝试使用 Linsolve 求解方程组,但显然一定是误解了某些东西,因为我不断得到意想不到的结果。假设我想解决以下两个方程:

a + b = 0
a - b + c = 0

我希望结果:

b = 0.5*c

相反,Sympy 返回空集。使用 nonlinsolve 我得到 (-a),这也没有多大意义:

>>> import sympy
>>> a, b, c = sympy.symbols('a b c')
>>> Eqns = [a + b, a - b + c]
>>>sympy.linsolve(Eqns, b)
()
>>>sympy.nonlinsolve(Eqns, b)
(-a)

我觉得我快疯了,请帮忙:)

【问题讨论】:

    标签: python math sympy


    【解决方案1】:

    您还需要传递其他变量。所以传递和方程一样多的变量,否则它是不可解的,就像手动一样。

    import sympy as sp
    a, b, c = sp.symbols('a b c')
    Eqns = [a + b, a - b + c]
    sp.solve(Eqns, b, a)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-03
      • 1970-01-01
      • 1970-01-01
      • 2011-11-24
      • 1970-01-01
      • 1970-01-01
      • 2017-12-16
      • 1970-01-01
      相关资源
      最近更新 更多