你只需要解决一次方程式.之后,您将获得表单的等式:
> a = f_1(kp1,kp2)
> b = f_2(kp1,kp2)
> ……
所以你可以简单地计算a,…,e依赖于kp1和kp2.例如,求解第一,第三和第四方程给出:
> b:-a 2.6
> e:2.0 * kp2 *(5.0 * a – 13.0)/(5.0 * a * kp2 – 5.0 * a – 13.0 * kp2),
> d:10.0 * a /( – 5.0 * a * kp2 5.0 * a 13.0 * kp2)
在我的电脑上解决所有五个方程式太慢了,但如果它给你一个表达式,你只需要插入(替换)kp1和kp2的值,你就不必再次求解方程式了.如需替换,请查看sympy documentation.
所以你的循环应该是这样的:
solutions = sympy.solve(eqs, exclude=[kp1, kp2])
for data_kp1, data_kp2 in data:
for key, eq in solutions:
solution = eq.subs([(kp1, data_kp1), (kp2, data_kp2)])
final_solutions.append("{key}={solution}".format(key=key, solution=solution))