如何在Excel中求解线性方程组?

我有一个22个线性方程组 (22个方程和22个未知数),它们是在Excel电子表格中dynamic生成的。 有没有办法让Excel解决系统,并为每个未知variables产生一个值?

另一个SO问题有很多有关用于求解这些方程的algorithm的很好的信息。 克拉默的规则特别看起来很有希望,但我不知道如何在Excel中实现它。

任何帮助表示赞赏!

这个页面给出了以下简单的方法:

  1. 在nxn范围内input系数matrix。

  2. 在n-tall列中input常量向量。 select一个空白的n高的列。 不要只select一个单元格很重要。

  3. 在公式文本框中input= MMULT(MINVERSE(系数matrix范围),常量_vector范围),然后按[CTRL] [SHIFT] [ENTER]。 不要简单按[ENTER]键很重要。

这应该适当地工作,因为你只有一个小系统(22×22)。 虽然,理想情况下,你不会直接反转matrix,在这种情况下,这应该不重要。

你肯定不想克拉默的规则。 由于其数值性质相当差,所以比实际的兴趣更具理论性。

那么微软的Solver基金会呢? 我似乎记得在快速版本附带的文档中有一些较小的联立方程的例子。

你不应该考虑克莱默的规则来解决线性系统! 这是非常低效的,即使是小系统也不可能实现。

Excel不是解决线性系统的正确工具。 如果我是你,我会写一个简单的Python脚本,读取Excel文件,解决方程(与numpy),并将结果保存在excel可以读取的文件。 (甚至更好,如果可以的话,完全避免使用Excel)。

Excel LINEST函数应该这样做 – 并且在很多情况下会比MMULT(MINVERSE(…)…)返回更好的结果。

你也可能发现LOGEST,GROWTH和TREND函数有用。

如果在逆matrix计算中有任何问题,例如over / under flow / truncation等,你总是可以使用Solver – 否则在C中获得一个数字配方的副本并转换成VBA。

这可以是线性方程的求解器,我们可以用math求解器通过使用math方程的根来解决求解器的两个更多的指数部分,而find线性方程求解器的更好的方法。