如何解决如何使用sympy代数求解一个双边方程
我想用sympy来解决他关于x,g和w的等式。
这就是我认为应该编写的代码
from sympy import *
w,a,x,g = symbols('w a x,g',real=True)
lhs = 1/g*(w-a)**g
rhs = 1/(2*g)*(w-x)**g + 1/(2*g)*(w+x)**g
solve((lhs,rhs),(x,g,w))
但是,这似乎是在试图求解数值答案。
解决方法
好吧,您需要了解Sympy的局限性。它可能无法解决这类方程式。就两面而言,通过解决rhs - lhs = 0
使其成为一面。
将方程式放入WolframAlpha并不能解决问题。因此,非常怀疑sympy会为您提供任何有用的信息。
,您可以使用Eq
创建一个两边方程:
In [52]: Eq(lhs,rhs)
Out[52]:
g g g
(-a + w) (w - x) (w + x)
───────── = ──────── + ────────
g 2⋅g 2⋅g
当您说要解决“关于x,g和w”时,我不确定我是否理解您的意思。您是说要解决a
方面的问题吗?如果是这样,那么您只需要要求解决a
:
In [53]: solve(Eq(lhs,rhs),a)
Out[53]:
⎡ -1 ⎤
⎢ ─── _____________________⎥
⎢ g g ╱ g g ⎥
⎣w - 2 ⋅╲╱ (w - x) + (w + x) ⎦
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。