图片来自网络
图片来自网络
所以叫“也谈”,是因为关于“利用Excel求解多元一次方程组”的技巧不是我首创的,我也是从网络中学到的。之所以觍着脸拾人牙慧,倒不是像“农夫山泉”一样,只做一个“搬运工”,我其实是对技巧背后的数学原理充满好奇的。本文就抱着和智慧的网友交流的态度,粗略地谈一谈我的理解。
让我们以具体例子展开。
有四元一次方程组如下:
27a 9b 3c d=0 (1)
27a 6b c=0 (2)
a b c d=8 (3)
3a 2b c=-4 (4)
利用电子表格Excel求解这个四元一次方程组有以下三步:
(值得注意的是,不是所有的“线性方程组”都有解,线性方程组(含方程个数不等于未知元的个数的情况)解的情况分为三种:无解、有唯一解、有无穷解,上面的例子存在唯一解。)
(一)以表格的形式整理出方程的“系数矩阵”,见下图的黄色区域,该区域的引用地址为:C4:F7。
Excel示例截图
(二)用公式:=MINVERSE(C4:F7)求出系数矩阵的逆矩阵,结果为同等规模(行数、列数相同)的另一矩阵,见上图绿色区域,该区域的引用地址为:C12:F15。
(三)用公式:=MMULT(C12:F15,G4:G7)作矩阵的乘法,参数1的区域C12:F15即为第(二)步所得系数矩阵的逆矩阵(4×4矩阵,4行4列,绿色区域),参数2的区域G4:G7为方程组的常数项矩阵(4×1矩阵,4行1列,蓝色区域),所得结果为4×1矩阵,见上图红色区域C20:C23,即为原方程组的解。
矩阵的乘法是这样的:用左矩阵的每一行的元素,对应乘以右矩阵的每一列的元素,然后求和,得到结果矩阵对应位置的元素值。如果左矩阵的规模是m×n,右矩阵的规模是n×p,则结果矩阵的规模是m×p。显然,左矩阵的列数等于右矩阵的行数是矩阵乘法得以进行的前提条件。
您可以打开Excel,做一下上面的简单示例,您一定会惊叹于Excel的强大、便捷。
但是这样做的数学原理是什么呢?
我打算以极简的方式谈谈。
一、重新表达方程组这样的表达是用“矩阵的乘法”做出的,可以转化为原方程组。
这样的表达的好处是:将未知元与系数分开了。总体猜测便是:试图将未知元矩阵表达为系数矩阵和常数项矩阵的运算。
为了表达的方便,进一步抽象为:
AX=B 变式二
其中:A表示系数矩阵,X表示未知元矩阵,B表示常数项矩阵。
于是,我们猜测并期望:
X=B÷A 变式三
二、逆矩阵、单位矩阵大显神威要想实现“变式三”,就要想方设法对系数矩阵A实现“移项”,正确的方法需要用到逆矩阵和单位矩阵的帮助。
上例子:
事实上,存在系数矩阵A的逆矩阵
其中:I即为单位矩阵。单位矩阵除了从左上角到右下角的对角线上的元素等于1之外,其余元素均为0。一个矩阵的逆矩阵其实相当于一个数的倒数,比如:4是0.25的倒数,因为4×0.25=1。倒数的存在,是为了将除法转换为乘法来做;逆矩阵的存在也是为了通过乘法的方式实现所谓“矩阵的除法”。
于是,我们有:
上面推导过程中的关键步骤是:在原等式两边同时左乘系数矩阵的逆矩阵。最终的结论告诉我们:求出系数矩阵的逆矩阵是线性方程组矩阵解法的关键。虽然手动求出一个矩阵的逆矩阵的方法很繁琐,但是不用担心,这些步骤就交给计算机完成吧,我们便坐享其成吧。
三、最终的过程虽然,许多人看到这样的文章会厌恶,但是,“以最少的、最通俗的言语说清楚一个道理”,我做出了最大的努力。如果依然让您感到不适,我只能深深地抱歉,我水平有待提高。不过,我依然建议您“收藏先”,因为“收藏”的东西,表面重要,实际无用。哈哈,再会。
图片来自网络
,