未上大学前,我没有感觉到知识(基础知识)的重要,只是敬畏于它的神秘,因为那时我知道它们是千百年来经验的总结。带着这种神秘感,我进入了大学之门。
直到上个月,我在一次笔试中碰到一个题目,看似简单,但实际上是只能列出三个方程却有四个未知量的方程组,当时我的直觉是他们把题目出错了,三个方程怎么能解出四个未知量呢?但想到这个试卷有可能经历多人,所以觉得还是应该尽力做下去。当时我解出了几个未知量的关系,但也只能做到这里了,因为再往下解不出来,我猜测是不是可以先假设其中一个未知量的值,从而解出其他变量?但我实验了两次后最终还是失败了。当时因为时间的限制我不可能继续假设下去,所以也只能放弃了。
当我回家后忽然意识到:这种题型正好是<<线性代数>>里的求
非齐次线性方程组的
普通解系的问题。对这种变量数多于方程数的问题,我们可以把未知量的系数和等号右边的数列组成一个
增广矩阵B,然后对它进行初等行变换,先变成
阶梯矩阵,求得其
秩R(A)和
R(B)(它们相等才有解,且等于
变量数n时有唯一解,小于变量数有无穷解),然后再变成
行最简矩阵,用它来求
固定未知量a和
自由未知量b(注意b能让我们知道可以对哪些变量进行假设值,a对哪些变量不能设值)的关系,然后对自由未知量设值就能求出一组解,当用c1和c2乘以这组解,它们便变成了这组
非齐次线性方程组的
普通解系。我们可以使用这个解系里的任何一组解来满足
非齐次线性方程组。
当然,这只是线性代数的一个方面的功能,它还是概率论的基础,是计算机图形学的工具,以便我们能更方便的求解其他方面的问题。
另外我感觉大学课程对软件开发有直接帮助的课程有:数据结构,C,英语,数据库,java,软件工程等等,也许还没想全,其他课程也肯定能开拓我们的思维,对逻辑能力有很好的训练作用,而逻辑能力是设计软件或者硬件最重要的能力。
希望各位能珍惜我们大学里的每一门课,每一节课。 感谢我的妻子竹竹,是她在背后支持我继续上完大学的,她的厨艺绝对比我写程序的水平高,使我们在不富裕的日子里也能吃上饭店级的饭菜。呵呵