我试图用SymPy 0.7.1解一组方程:
from sympy import *
equations = [
Eq(S('vf'), S('vi + a*t')),
Eq(S('d'), S('vi*t + 1/2*a*t**2')),
Eq(S('a'), S('10')),
Eq(S('d'), S('60')),
Eq(S('vi'), S('5'))
]
print solve(equations)
产生正确的结果,但顺序奇怪:
[(-4, 10, 60, -35, 5), (3, 10, 60, 35, 5)]
如何确定哪个值适合哪个变量?变量顺序似乎是任意的。The documentation suggests提供其他参数:
print solve(equations, var('a'), var('d'), var('t'), var('vi'), var('vf'))
但这似乎没有效果。
提前感谢您的帮助!
我也不知道输出结果。最初我认为问题是因为您创建了新的var对象,而不是重用原来的对象,但结果不是这样。如果可能的话,我只需要升级到0.7.1-git,在那里事情会表现得更好:
默认情况下是很好的字典,指定顺序也行。
相关问题 更多 >
编程相关推荐