一直很喜欢两个老爷爷,一个是MIT主讲线性代数的Gilbert Strang,另一个就是Matlab的首席数学科学家Cleve Moler。记得作者在几年前,下载了他个人主页上的两本书。一本叫《Numerical Computing with MATLAB》,另外一本叫《Experiments with MATLAB》。当时研究了一下,就没了下文,近来我又把他的《Experiments with MATLAB》翻出来看了一下,虽然网上也有中文版,但我还是勉强的啃着英文看。
这两天看到了书中的一篇文章,讲的是MATLAB解方程组Ax=b时最常用的反斜杠“\”。现在我打算把他的这篇文章翻译一下,分享给大家,中间可能会补充一些自己的东西。
两个数的平均值等于3,请问这两个数分别是多少?请记住你脑子里蹦出的两个数,我们会在这一章的结尾讨论这个问题。
我们先从一个非常简单的线性方程说起,一个未知数,一个方程。
求:
很明显答案是:
现在我们常数换成代数,试求解:
得到:
方程有唯一解。
那么如果a=0呢?这就要看b了。如果b不等于0,那么也就没有任何x能满足:
因此,方程无解。
那如果换成b=0呢,如果b=0,那么任何x都可以满足方程:
也就是说,方程有无穷多个解。数学家们已经对“如何判断方程是否有解?”和“如果有解,那么解是否唯一?”这两个问题讨论了几个世纪了。我们马上就会看到,那些令数学家们讨论了几个世纪的问题,对于今天的工程计算依然依然继续着。
买水果问题:
爱丽丝买了3个苹果,12个香蕉和1个香瓜,总共花了2.36美元。鲍勃买了12个苹果和2个香瓜,总共花了5.26美元。卡罗买了2个香蕉和3个香瓜,总共花了2.77美元。请问,这三种水果的单价是多少?
我们用未知数,
和
分别表示苹果,香蕉和香瓜的单价。并把上述的文字描述用方程的方式分别表示出来,得到一个三元一次方程组: