《工程线性代数(MATLAB版)》序言
本书对在我国延承了几十年的传统的线性代数教材作了重大的改革。主要是强调了把它的工程应用放在首位,本书的取名“工程线性代数”目的就在于此。所以能做到这点,关键是采用了20世纪末的最新科技成就,把科学计算软件MATLAB用于线性代数教学。它与传统教材的差别体现在以下几个方面。
1.课程的第一目标在于使读者学会线性代数问题的原理和工程计算,这里主要指:①线性代数方程(包括适定、欠定和超定方程)的解;②向量相关性的分析;③线性变换及其特征向量的计算。而系统的阶次不受限制。这样,新教材与传统教材覆盖领域的对比可以用下图粗略表示:
图中横坐标为线性代数所要解决的问题类型,基本是三大类:线性方程组求解、分析向量组的相关性以及求特征值问题。方程组求解又可按方程的性质分为适定、欠定和超定三类。纵坐标为方程的阶次,图中画到了N=8。是估计计算机解8阶与手工解三阶方程所化的输入输出数据的劳动量相当,都是72个数据,但思考量则少得多。
图中黑色的为传统线性代数书上没有给出解法(比如三次特征多项式的求根)的区域,灰色的部分是手工运算量过大,难以为人们承受的部分,于是手工能解的题目只限于11个白色的方格。而用计算机则可以在同等劳动下解出全部40个方格内的题目。后续课程中的问题绝大部分都在高于三阶的灰黑色部分,而工程问题则阶次更高。所以新教材比传统教材较好地满足了后续课和工程的需求。
2.按照唯物主义的认识论,概念的建立是把大量感性知识归纳和抽象到理性的过程。本书中线性代数的主要术语和概念都从二维和三维引出,并赋予它们鲜明的几何形象。然后再用代数公式扩展至高维的公式和推理。这既反映了人脑从感性到理性的认识论,又体现了线性代数从几何到代数发展的方法论。这也与使用MATLAB的图形功能密切相关,书中的大量图形都是计算机画的,而且还可以有动画演示,这都是传统教材无法做到的。
3.“需求牵引”是学术发展的推动力。工科学生之所以要把线性代数作为一门基础课来学,就是因为后续课需要应用它来快速、准确地描述和解决问题,也是因为现在各种工程问题都要应用它。在教学中,让学生知道课程的用途,带着问题学,是提高学习自觉性和动力的重要手段。本书提供了大量的后续课及工程实际中的问题作为例题和习题,足以使理工经管各类学生都能体会到此课程在各自领域的精彩应用。传统教材中有的完全没有工程实例,有的举了例子但因缺乏工具而给不出解,使得实例的应用价值大打折扣。
在没有计算机时,线性代数的实际问题确实难解,传统大纲往抽象思维方面引导也许是出于无奈。实际上,在缺乏起码工程知识的低年级大学生中强调培养抽象思维是不适当的。对于他们,要强调的应该是工程应用、形象思维和实际解题。从教学计划全局考虑,抽象思维的培养主要应在理论性强的专业、深入课程和少数高年级优等学生中进行。
按照上述的要求和思路,本教材内容的取舍及与其他课程的关系就有了很大不同。其中有以下几个主要方面:
1.关于科学计算语言MATLAB。要学好这本教材,MATLAB必须先开,但没有矩阵基础,MATLAB又不好讲;而且不少学校把线性代数放在大一上学期开设,先修MATLAB更不可能。如果把MATLAB放在本课之后,那又违背了本课改革的基本目标,所以最好的方案是交叉进行。其实线性代数所用到的只是MATLAB中的矩阵代数和部分绘图功能,讲这部分内容只要3~4学时,完全可以插在线性代数课程中进行,所以本书附录A中就给出了最低限度的MATLAB知识。
2.计算机的上机操作需要‘计算机文化’课程打基础,也需要在线性代数课程中给出上机操作的时间,这都是原来教学大纲中没有的。我们觉得,在本课程大纲中安排10~12机时(相当于5~6学时)较为适当。一半用于学习MATLAB,其余用于线性代数。
3.为了帮助读者建立空间形象,利用MATLAB绘制立体图,需要利用空间解析几何的某些基础,目前这部分内容是在高等数学中的平面微积分之后讲的,大约在大一上学期末。对于大一上学期开线性代数的学校,就有些帮不上忙。本书只好不依靠高等数学,独立对空间解析几何概念和绘图作扼要的介绍。
4.线性代数方程共有适定、欠定和超定三种类型,在工程中超定问题比欠定问题多得多,在传统的教材中却大多不写,本书补上了这个缺口。另外,工程计算中的速度与精度的讨论、奇异性和条件数等重要问题,在传统的教材中都没有,在本书中都进行了介绍。至于本书中的大量工程实例,都是要占用一定讲课时间的。
把这些因素都算上,本书比传统教材增加的内容约为12~16学时,如果我们改变某些过于抽象的讲法(例如用数序的方法定义行列式),省略部分命题的证明,减少大量的繁琐的手工计算,这些时间是有可能挤出来的,可以用3个学分完成。不过这需要一个试验的过程。而且,研究生考试的命题方向也必须改变,相应地向应用倾斜,要是考研命题方向不变,而又要把课程内容实用化,那就必须增加一个学分。
我们还特别注意了由浅入深的模块式结构,考虑到有些读者工科背景知识的不足,前六章中所举的应用实例多为常识性的,而把与后续课有关的实例单独列成第七章,便于使本书适应层次不同的广大读者。如果有些读者只要求会用矩阵解线性方程组,可以只学前两章和第三章的一部份;如果还需要有一些向量空间和特征向量的概念,那可以加学第四章。一般说,一类本科的学生应该学完前六章,而对书中的小字部分、第七章和附录B中某些命题的证明,仍然有选择取舍的余地。
本书把习题分为思考题、笔算题和计算机题三类,主要是便于读者选择。思考题主要用于复习基本概念,笔算题用于低阶算法过程的模仿理解,计算机题则可训练综合处理高阶应用实例的能力。
本书由杨威编写第1~3章,高淑萍编写第4~6章,陈怀琛负责总的策划整理,特别是MATLAB的编程和绘图。陈怀琛是在机械、控制和电子三个工科领域执教了53年并致力于推广科学计算的老教师,高淑萍是数学系的应用数学博士,杨威是物理系的博士,都有近20年的教龄。马建荣老师阅读了初稿并提出了许多好意见。我们希望并相信,这种不同年龄、不同背景的交叉合作可以给教材带来更多新鲜因素。
这本书是把科学计算软件用于线性代数全程教学的第一次尝试。我们欢迎来自各方面读者的批评和建议,以便在正式出版中改进。对教材意见的信件可寄:(710071)西安电子科技大学334信箱陈怀琛,电话:(029)-88202988。
预计本书将于2007年5月正式出版,在此之前,它的程序集可以通过本校电子工程学院的网站下载,网址为:http://see.xidian.edu.cn/faculty/hchchen。校外读者可以通过电子邮件向作者们免费索取。作者们的电子邮址如下:
陈怀琛 hchchen@xidian.edu.cn,
高淑萍 xdgaosp@263.net,
杨威 weiyang@mail.xidian.edu.cn
《工科线性代数(MATLAB版)》序言………………………………………………………1
目录………………………………………………………………………………………………3
第一章 线性方程组与矩阵 7
1.1 概述 7
1.2 二元和三元线性方程组解的几何意义 8
1.3 高斯消元法与阶梯形方程组 9
1.4 矩阵及矩阵的初等变换 11
1.4.1 矩阵的概念 11
1.4.1 矩阵的定义 12
1.4.2 几种特殊矩阵 12
1.4.3 矩阵的初等变换 14
1.5 行阶梯矩阵的生成规则和程序化 15
1.5.1 实现行阶梯变换的基本步骤 15
1.5.2 用MATLAB编写的消元子程序 17
1.5.3 用行阶梯形式的结构判断线性方程的类型 19
1.6 应用实例 20
1.6.1 插值多项式 20
1.6.2 平板稳态温度的计算 22
1.6.3 交通流量的分析 22
1.7 习题 23
1.7.1 思考题 23
1.7.2 笔算题 24
1.7.3 计算机题 25
第二章 矩阵运算及其应用 27
2.1 矩阵的加减乘法 27
2.1.1 矩阵的加法 27
2.1.2 矩阵的数乘 28
2.1.3 矩阵的乘法 29
2.1.4 矩阵的转置 33
2.2 矩阵的逆 34
2.2.1 逆矩阵的定义 34
2.2.2 逆矩阵的性质 35
2.2.3 逆矩阵的求法 42
2.3 矩阵的分块 36
2.4 初等矩阵 39
2.5 应用实例及Matlab辅助计算 43
2.5.1 成本核算问题 43
2.5.2 特殊矩阵的生成 44
2.5.3 逆矩阵的求解 45
2.5.4 图及其矩阵表述 46
2.5.5 网络的矩阵分割和连接 47
2.5.6 弹性梁的柔度矩阵 48
2.6 习题 49
思考题 49
笔算题 50
计算机题 52
第三章 行列式 54
3.1 行列式的定义 54
3.1.1 二、三阶行列式的定义 54
3.1.2 n阶行列式的定义 56
3.1.3 矩阵与行列式 57
3.1.4 行列式按行(列)展开 58
3.2 行列式的性质及应用 58
3.2.1 行列式的性质 58
3.2.2 方阵行列式的性质 61
3.2.3 方阵可逆的充要条件 61
3.3 克莱姆(Cramer)法则 63
3.4 应用实例及Matlab辅助计算 66
3.4.1 提高计算速度——化三角形法计算行列式 66
3.4.2 行列式计算例题 68
3.4.3 行列式奇异性对计算精度的影响 70
3.4.4 用逆阵进行保密编译码 71
3.4.5 用行列式计算面积 72
3.5 习题 73
思考题 73
笔算题 74
计算机题 76
第四章 平面(R2)和空间(R3)中的向量 78
4.1 向量的类型 78
4.2 平面和空间(R2和R3)中的向量运算 79
4.2.1 向量的加减 79
4.2.2 向量的数乘 80
4.2.3 向量与向量的点乘 80
4.2.4 向量与向量的叉乘 81
4.3 平面和空间(R2和R3)的向量空间 82
4.3.1 平面和空间向量的线性相关性 82
4.3.2 平面和空间向量张成的空间 83
4.3.3 R2和R3中的子空间 84
4.5 欠定方程在R2和R3中的解空间 84
4.6 平面(R2空间)上的线性变换 85
4.6.1 平面上线性变换的几何意义 85
4.6.2 二维矩阵特征值的计算方法 87
4.6.3 特征值和特征向量的几何意义 88
4.6.4 用三维向量表示刚体平面运动——齐次坐标系 89
4.7 应用实例 91
4.7.1 化学方程的配平 91
4.7.2 减肥配方的实现 92
4.8 习题 93
4.8.1 思考题 93
4.8.2 笔算题 94
4.8.3 计算机题 95
第五章 向量空间 97
5.1 n维向量 97
5.2 向量组的线性相关性 98
5.3 矩阵的秩与向量组的秩 99
5.4 向量空间 103
5.4.1 向量空间的定义。 103
5.4.2 子空间 104
5.4.3 向量的内积 105
5.4.4 正交向量 106
5.4.5 正交矩阵 109
5.5 基、维数与坐标 110
5.6 线性方程组解的结构 113
5.6.1 三类不同线性方程组解的结构 113
5.6.2 欠定方程组解的结构 113
5.6.3 求基础解系的MATLAB程序 114
5.7 超定方程的解——最小二乘问题 116
5.8 应用实例 118
5.8.1 混凝土配料中的应用 118
5.8.2 圆锥截面二次型方程插值问题 120
5.9 习题 121
5.9.1 思考题 121
5.9.2 笔算题 122
5.9.3 计算机题 125
第六章 线性变换和特征值 127
6.1 n维空间的线性变换 127
6.2 方阵的特征值和特征向量 128
6.2.1 特征值和特征向量的计算 128
6.2.2 方阵的特征值和特征向量的性质 130
6.2.3 特征值和特征向量的MATLAB求法 133
6.3 相似矩阵与矩阵的对角化 135
6.4 实对称矩阵的对角化 138
6.5 二次型及其标准形 142
6.5.1 二次型的概念 142
6.5.2 二次型的标准形及惯性定理 143
6.5.3 化实二次型为标准形的方法 145
6.5.4 二次型的正定和负定 150
6.6 应用实例 153
6.6.1 人口迁徙模型 153
6.6.2 斑点猫头鹰与老鼠的生态问题 154
6.7 习题 155
6.7.1 思考题 155
6.7.2 笔算题 156
6.7.3 计算机题 158
第七章 线性代数在理工经管课程中的应用举例 160
7.1 电路课程: 160
例7.1 电阻电路的计算 160
例7.2 交流稳态电路的计算 161
7.2 信号与系统课程 162
例7.3 线性时不变系统的零输入响应 162
例7.4 信号流图模型和梅森公式[11] 163
7.3 数字信号处理 165
例7.5 数字滤波器系统函数[12] 165
7.4 静力学 166
例7.6 求双杆系统的支撑反力, 166
7.5 运动学 167
例7.7 刚体空间运动学 167
7.6 动力学——振动 170
例7.8 二自由度机械振动 170
7.7 文献管理 172
例7.9 情报检索模型 172
7.8 经济管理 173
例7.10 宏观经济模型 173
附录A MATLAB的矩阵代数和作图初步 175
A.1节 MATLAB的工作界面 175
A.2节 矩阵及其赋值 175
A.3节 矩阵的四则运算 179
A.4节 元素群运算 181
A.5节 基本绘图方法 183
A .6节 字符串与快速绘图 186
A.7节 符号变量与公式推导 187
A.8节 程序文件(M文件) 189
A.9节 本书用到的其他矩阵函数 190
A.10节 矩阵输入和运算的初步练习 192
附录B 若干定理的证明和深化 194
B.1 行列式定义的进一步讨论 194
B.2 行列式按行(列)展开定理的证明 194
B.3 行列式部分性质的证明 196
B.4 行列式乘法定理的证明: 198
B.5 定理5.2的证 任何矩阵经过初等变换后其秩不变。 198
B.6 定理5.4的证 矩阵的秩等于它的列向量组的秩,也等于它的行向量组的秩。 200
B.7 定理6.6的证 设A为n阶实对称矩阵,则一定存在正交矩阵,使得 200
参考书目 202