在Sympy中,您如何隔离通用变量?
我可以这样做,例如:
>>> import sympy as sm
>>> P, rho, g, h = sm.symbols("P rho g h")
>>> depth = sm.Eq(P, rho*g*h)
>>> sm.solve(depth, h)
[P/(g*rho)]
但不是这样:
>>> T, a, mu = sm.symbols("T a mu")
>>> kepler3 = sm.Eq(T, 2*sm.pi*sm.sqrt(a**3 / mu))
>>> solve(kepler3, a)
[2**(1/3)*(T**2*mu)**(1/3)/(2*pi**(2/3)),
2**(1/3)*(T**2*mu)**(1/3)*(-1 + sqrt(3)*I)/(4*pi**(2/3)),
-2**(1/3)*(T**2*mu)**(1/3)*(1 + sqrt(3)*I)/(4*pi**(2/3))]
我正在寻找的是一种自动生成:sm.root(mu*T**2/(4*sm.pi**2), 3)
的方法,这在技术上是第一个输出。
Solve找到了根,而不是根据给定的变量来编写它。