代码之家  ›  专栏  ›  技术社区  ›  Him

辛非平凡替换

  •  1
  • Him  · 技术社区  · 9 年前

    我试图在Symphy中进行一些替换,但它们通常不是这种形式 x=1 (a+b)/(c+d)=1 .我可以选择一个任意变量来求解,但存在这样的情况,即可能产生无限解,可能产生无限可能的替换,以及任何其他未知的警告,而直接替换则不会。

    sympy

    这显然只是 1 1. 为了这个?

    更新

    这也不起作用:

    sp.solvers.solve([(a+b)/(c+d)-x,(c+d)/(a+b)-1],x)
    
    1 回复  |  直到 9 年前
        1
  •  1
  •   user6655984 user6655984    9 年前

    求解为两个变量而不是一个变量设置的系统。这将迫使Symphy实际使用这两个方程。

    sp.solve([(a+b)/(c+d) - x, (c+d)/(a+b) - 1], [x, a])
    

    {a: -b + c + d, x: 1}

    或者更具体地说,

    sp.solvers.solve([(a+b)/(c+d) - x, (c+d)/(a+b) - 1], [x, a])[x]
    

    输出1。


    直接替换不会

    推荐文章