使用 sympy 将方程式转换为另一种形式
Converting an equation to another form using sympy
我有这样一个问题:我有一个像x ** 3 - x ** 2 + x - 5 = 0
这样的表达式。我需要把它转换成x = g(x)
的形式,比如x = root(x ** 2 - x + 5, 3)
.
sympy 可以做到吗?如果是这样,如何?感谢您提供翔实的回答。
您可以将 x**3
项替换为 y**3
并求解 y
:
In [26]: lhs = x ** 3 - x ** 2 + x - 5
In [27]: lhs
Out[27]:
3 2
x - x + x - 5
In [28]: lhs.subs(x**3, y**3)
Out[28]:
2 3
- x + x + y - 5
In [29]: y1, y2, y3 = solve(lhs.subs(x**3, y**3), y)
In [30]: Eq(x, y3)
Out[30]:
____________
3 ╱ 2
x = ╲╱ x - x + 5
我有这样一个问题:我有一个像x ** 3 - x ** 2 + x - 5 = 0
这样的表达式。我需要把它转换成x = g(x)
的形式,比如x = root(x ** 2 - x + 5, 3)
.
sympy 可以做到吗?如果是这样,如何?感谢您提供翔实的回答。
您可以将 x**3
项替换为 y**3
并求解 y
:
In [26]: lhs = x ** 3 - x ** 2 + x - 5
In [27]: lhs
Out[27]:
3 2
x - x + x - 5
In [28]: lhs.subs(x**3, y**3)
Out[28]:
2 3
- x + x + y - 5
In [29]: y1, y2, y3 = solve(lhs.subs(x**3, y**3), y)
In [30]: Eq(x, y3)
Out[30]:
____________
3 ╱ 2
x = ╲╱ x - x + 5