【发布时间】:2021-08-06 12:35:36
【问题描述】:
按照建议,我尝试使用 sympy.solveset 而不是 sympy.solve 来求解一组两个方程。
from sympy import *
a1, a1dot, pa1, pa1dot, a2, a2dot, pa2, pa2dot, m, l = symbols('a1, a1dot, pa1, pa1dot, a2, a2dot, pa2, pa2dot, m, l')
eq1 = 2*m*l**2*a1dot + m*l**2*a2dot*cos(a1 - a2) - pa1 #equation one
eq2 = m*l**2*a2dot + m*l**2*a1dot*cos(a1 - a2) - pa2 #equation two
使用solveset([eq1, eq2], (a1dot, a2dot)) 给我一个“[eq1, eq1] 不是有效的 SymPy 表达式”错误(eq1, eq2 扩展为它们在错误消息中代表的完整表达式)。
但是使用solve([eq1, eq2], (a1dot, a1dot)) 工作得很好并且给出了正确的结果。但是,我想遵循 SympPy 文档中给出的建议并改用求解集。那我错过了什么?
【问题讨论】: