【发布时间】:2014-01-27 00:15:29
【问题描述】:
我正在使用带有 sympy 0.7.4.1 的 python3。我不知道如何保存解决方案以备将来使用(我在手册或谷歌上找不到任何有用的东西)。例如,我有一些方程 eq1,eq2 和 t1+t2+t3==0,那么我可以通过以下方式求解方程
solve([t1+t2+t3,eq1,eq2],[t1,t2,t3]
但我想将解决方案存储到 t1,t2,t3,以便我可以将它们用于其他操作。有没有一种简单的方法可以实现这一目标?简单地使用 [t1,t2,t3]=solve([t1+t2+t3,eq1,eq2],[t1,t2,t3] 不起作用。
solve的返回是
{t2: -3*theta_2**2/8 + 3*theta_2*theta_3/4 - 3*theta_3**2/8, t3: 3*theta_2**2/4 - 3*theta_2*theta_3/2 + 3*theta_3**2/4, t1: -3*theta_2**2/8 + 3*theta_2*theta_3/4 - 3*theta_3**2/8}
如果我添加标志 set=True,那就是
([t1, t2, t3], {(-3*theta_2**2/8 + 3*theta_2*theta_3/4 - 3*theta_3**2/8, -3*theta_2**2/8 + 3*theta_2*theta_3/4 - 3*theta_3**2/8, 3*theta_2**2/4 - 3*theta_2*theta_3/2 + 3*theta_3**2/4)})
对于dict=True,是
[{t2: -3*theta_2**2/8 + 3*theta_2*theta_3/4 - 3*theta_3**2/8, t3: 3*theta_2**2/4 - 3*theta_2*theta_3/2 + 3*theta_3**2/4, t1: -3*theta_2**2/8 + 3*theta_2*theta_3/4 - 3*theta_3**2/8}]
【问题讨论】:
-
如果您显示
solve()返回的内容会有所帮助。它应该是一个数组或字典。