我有表格中的表达列表。
f1 = q1 * f2 + r1
f2 = q2 * r1 + r2
r1 = q3 * r2 + r3
r2 = q4 * r3 + r4
我想用r4
,f1
和f2
(即q1,q2,...)来表达qn
。我该如何在同意中执行此操作?
答案 0 :(得分:3)
sympy.solve
可以传递一个表达式列表(等于零)和一个要解决的符号列表。如果有解决方案,则在dict中返回。
由于您根据f
和q
s寻求解决方案,因此请求解所有r
个变量。
f1, f2, r1, r2, r3, r4, q1, q2, q3, q4 = sy.symbols('f1,f2,r1,r2,r3,r4,q1,q2,q3,q4')
ans = sy.solve([
f1 - q1 * f2 - r1,
f2 - q2 * r1 - r2,
r1 - q3 * r2 - r3,
r2 - q4 * r3 - r4], [r4, r3, r2, r1])
print(ans[r4])
打印
f2*(q3*q4 + 1) - (f1 - f2*q1)*(q2*q3*q4 + q2 + q4)