考虑
给出的圆的参数化import sympy as sp
sp.var('x,y,theta,r')
e1 = sp.Eq(r, sp.sqrt(x**2 + y**2))
e2 = sp.Eq(theta, sp.atan2(y,x))
除了x
和y
之外,我如何让Sympy给我同样的东西?也就是说,我想要这个:
x = r*cos(theta)
y = r*sin(theta)
但是当我使用Sympy解决我得到的是
[(-sqrt(r**2*cos(theta)**2), sqrt(r**2)*sin(theta)),
(sqrt(r**2*cos(theta)**2), sqrt(r**2)*sin(theta))]
即使我在第二个解决方案时,我仍然无法让Sympy简化sqrt(r**2)
的{{1}}。
由于
答案 0 :(得分:0)
solve
(或更新的solveset
)是您要隔离变量的内容。
正如评论中所指出的,您需要将r
设置为sqrt(r**2)
的正面,以简化为r
r = symbols('r', positive=True)