我有一个方程,它与轨道力学中的太阳同步共振条件有关。我现在正在学习Python,所以我尝试使用以下代码在SymPy中解决它:
from sympy import symbols,solve
[n_,Re_,p_,i_,J2_,Pe_] = symbols(['n_','Re_','p_','i_','J2_','Pe_'])
del_ss = -((3*n_*(Re_**2)*J2_/(4*(p_**2)))*(4-5*(sin(i_)**2)))-((3*n_*(Re_**2)*J2_/(2*(p_**2)))*cos(i_))-((2*pi)/Pe_)
pprint(solve(del_ss,i_))
可以为其中五个变量成功地重新排列表达式,但是当在solve
命令中使用变量i_
时,会产生一个错误:
但是,当同一个表达式输入Matlab并调用solve
命令时,它将被正确地重新排列。我意识到错误提到了一个未实现的特性,这两个函数无疑会有所不同,但如果能知道是否有更合适的SymPy函数,我还是会很高兴的。任何帮助都将不胜感激。在
cos(i_)
替换为新变量ci_
,将{1-ci_**2
,并求解{这应该做到:
(编辑,因为我在第一次尝试中只写了一半的解决方案…)
相关问题 更多 >
编程相关推荐