我现在正在解一个方程组。你知道吗
方程的一个子集是:
eq1 = pi1 * q[0+1] == pi0 * r[0+1]
eq2 = pi2 * q[0+1] == pi0 * r[1+1] + pi1 * r[1+1]
eq3 = pi3 * q[0+1] == pi0 * r[2+1] + pi1 * r[2+1] + pi2 * r[1+1]
eq4 = pi4 * q[0+1] == pi0 * r[3+1] + pi1 * r[3+1] + pi2 * r[2+1] + pi3 * r[1+1]
eq5 = pi5 * q[0+1] == pi0 * r[4+1] + pi1 * r[4+1] + pi2 * r[3+1] + pi3 * r[2+1] + pi4 * r[1+1]
eq6 = pi6 * q[0+1] == pi0 * r[5+1] + pi1 * r[5+1] + pi2 * r[4+1] + pi3 * r[3+1] + pi4 * r[2+1] + pi5 * r[1+1]
eq7 = pi7 * q[0+1] == pi0 * r[6+1] + pi1 * r[6+1] + pi2 * r[5+1] + pi3 * r[4+1] + pi4 * r[3+1] + pi5 * r[2+1] + pi6 * r[1+1]
不幸的是,这不是我想要的工作方式。我想把它理解为:第一个方程的名字是“eq1”,有一个等式。其他行也应该这样读。在我的代码中,我有14个更长的方程。我想给他们一个名字,以避免在“solve([],[])中出现很长的表达式。你知道吗
这可能吗?如果是的话,应该怎么做?你知道吗
你可以把方程存储在字典里——你将把方程的索引(1,2等)映射到一个元组,元组包含两个表示方程两边的项。你知道吗
然后可以调用
solve(equations[1])
,并在solve()
函数中执行以下操作:或者像这样调用函数:
solve(equations[1][0], equations[1][1])
,并且在solve()
函数中有两个参数。你知道吗编辑以回答评论:
如果你想得到多于一个只有
==
(更大,更大等于等)的方程,你还需要把这些信息保存在元组中。它可以是这样的:并实现如下
solve()
函数:相关问题 更多 >
编程相关推荐