分享

纳尼!用函数解方程的原理原来是这样的。

 刘卓学EXCEL 2021-04-02

你好,我是刘卓。欢迎来到我的公号,excel函数解析。上学的时候,我们都解过二元或三元一次方程组。今天就来分享下用函数解多元一次方程组的方法和原理,会用到矩阵的一些知识。

用函数解方程组的方法,我也是在书上看到的,但不能理解它的原理。为了搞明白到底是什么原理,我花了10多天去学习矩阵的知识。虽然学的迷迷糊糊,但对于解方程的原理还是有一些认识的,所以今天就来分享下。

下面来看一个经典的案列,就是鸡兔同笼问题。

把若干只鸡兔关在同一个笼子中,头共有13个,脚共有42只。问鸡兔各几只?假设鸡有X只,兔有Y只,就可以得到下图的二元一次方程组。手工对其求解,得到X=5,Y=8。

如何用函数来求解呢?如下图所示,选中D5:D6,输入公式=MMULT(MINVERSE(C10:D11),E10:E11),按三键完成。

其中C10:D11是二元一次方程组的系数矩阵,第1个方程X、Y的系数分别是1、1,第2个方程XY的系数分别是2、4。E10:E11是方程组的常数矩阵,也就是方程组等号右边的结果。E8:E9是未知数矩阵,也就是X、Y。

将系数矩阵记作A,未知数矩阵记作B,常数矩阵记作C,并将其摆放成上图的形式。有没有发现是mmult的摆放形式?
如果mmult(A,B)=C会得到什么?是不是就得到了两个方程X+Y=132X+4Y=42,正好就是我们的二元一次方程组。
其实多元一次方程组可以用矩阵的乘法来表示。所以上面的二元一次方程组可以表示为AB=C。注意这里A、B、C都是矩阵,对应的区域分别是C10:D11E8:E9E10:E11。也就是矩阵A乘以矩阵B等于矩阵C。
矩阵A和C都知道了,求矩阵B是不是就很容易了?答案是B=C/A吗?

如果A、B、C都是数字,由AB=C当然可以推出B=C/A,甚至还可以推出下面的等式,除以一个数等于乘以它的倒数。

但是矩阵没有除法,只能通过乘法的形式来模拟除法,就像数字间乘以倒数来表示除法一样。在数字中叫倒数,但是矩阵中叫逆或逆矩阵。比如A的逆矩阵用A的-1次方表示,还是一个矩阵。

通过下图可以推导出矩阵B等于矩阵A的逆矩阵乘以矩阵C。还是两个矩阵的乘法。

我们知道mmult是矩阵乘积函数,也就是两个矩阵相乘,得到一个新的矩阵。而minverse是求逆矩阵的函数,返回一个矩阵的逆矩阵。

所以B=mmult(minverse(A),C)。把A和C换成对应的区域,就是B=MMULT(MINVERSE(C10:D11),E10:E11)

下面来练习一个三元一次方程组。方法是一样的,先把系数矩阵、未知数矩阵和常数矩阵像下图一样摆好。然后用矩阵乘法和逆矩阵来求解未知数矩阵。
链接:

https://pan.baidu.com/s/19eShMZm6EFnGdCImIbHsjg

提取码:2zv6

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多