
本书按照线性代数教材的编排方式,系统论述了基于 MATLAB语言编程的方法来实现线性代数问题的求解。全书内容包括矩阵的输入方法、矩阵基本分析方法、矩阵基本变换与分解方法、矩阵方程的求解方法与矩阵任意函数的计算方法等。此外,书中还介绍了线性代数的诸多应用问题的建模与求解方法。
本书可以作为高等学校理工科各类专业的本科生与研究生学习计算机数学语言(MATLAB)的教材,也可以作为一般读者学习线性代数与矩阵分析的辅助教材——从另一个角度认识线性代数问题的求解方法,并可以作为查询线性代数与矩阵数学问题求解方法的工具书。
前 言
PREFACE
科学运算问题是每个理工科学生和科技工作者在课程学习、科学研究与工程实践中常常会遇到的问题,不容回避。对于非纯数学专业的学生和研究者而言,从底层全面学习相关数学问题的求解方法并非一件简单的事情,也不易得出复杂问题的解。所以,利用当前最先进的计算机工具,高效、准确、创造性地求解科学运算问题是一种行之有效的方法,尤其能够满足理工科人士的需求。
作者曾试图在同一部著作中叙述各个数学分支典型问题的直接求解方法,通过清华大学出版社出版了《高等应用数学问题的 MATLAB求解》。该书从 2004年出版之后多次重印再版,并于 2018年出版了第 4版,还配套发布了全新的 MOOC课程 ①,一直受到广泛的关注与欢迎。首次 MOOC开课的选课人数接近 14000人,教材内容也被数万篇期刊文章和学位论文引用。
从作者首次使用 MATLAB语言算起,已经 30余年了,通过相关领域的研究、思考与一线教学实践,积累了大量的实践经验资料。这些不可能在一部著作中全部介绍,所以与清华大学出版社策划与编写了这套“薛定宇教授大讲堂”系列著作,系统深入地介绍基于 MATLAB语言与工具的科学运算问题的求解方法。
本系列著作不是原来版本的简单改版,通过十余年的经验和资料积累,全面贯穿 “再认识 ”的思想写作此书,深度融合科学运算数学知识与基于 MATLAB的直接求解方法与技巧,力图更好地诠释计算机工具在每个数学分支的作用,帮助读者以不同的思维与视角了解工程数学问题的求解方法,创造性地得出问题的解。
本系列著作卷 I可以作为学习 MATLAB入门知识的教材与参考书,也为读者深入学习与熟练掌握 MATLAB语言编程技巧,深度理解科学运算领域 MATLAB的应用奠定一个坚实的基础。后续每一卷试图对应一个数学专题或一门数学课程进行展开。整套系列著作的写作贯穿“计算思维”的思想,深度探讨该数学专题的问题求解方法。本系列著作既适合学完相应的数学课程之后,深入学习利用计算机
. MOOC网址:https://www.icourse163.org/learn/NEU-1002660001
·ii·薛定宇教授大讲堂(卷 III):MATLAB线性代数运算
工具的科学运算问题求解方法与技巧,也可作为相应数学课程同步学习的伴侣,在学习相应课程理论知识的同时,侧重于学习基于计算机的数学问题求解方法,从另一个角度观察、审视数学课程所学的内容,扩大知识面,更好地学习、理解并实践相应的数学课程。
本书是系列著作的卷 III。本书试图以一个全新的角度,按照一般线性代数教程的方式介绍线性代数问题的求解,侧重利用 MATLAB语言直接求解矩阵运算与线性代数的问题。首先介绍矩阵的输入方法,然后介绍矩阵基本分析方法、矩阵基本变换与分解方法,并介绍矩阵方程的求解方法与矩阵任意函数的计算方法等。本书还介绍了线性代数的诸多应用问题的建模与求解方法。
值此系列著作付梓之际,衷心感谢相濡以沫的妻子杨军教授,她数十年如一日的无私关怀是我坚持研究、教学与写作工作的巨大动力。
薛定宇 2019年 5月
目 录
CONTENTS
第 1章线性代数简介 · 1
1.1矩阵与线性方程组 1
1.1.1表格的矩阵表示 1
1.1.2线性方程组的建立与求解 3
1.2线性代数发展简介 8
1.2.1线性代数数学理论 8
1.2.2数值线性代数 10本章习题 12第 2章矩阵的表示与基本运算 13
2.1一般矩阵的输入方法 13
2.2特殊矩阵的输入方法 14
2.2.1零矩阵、幺矩阵及单位矩阵 · 15
2.2.2随机元素矩阵 15
2.2.3 Hankel矩阵 · 17
2.2.4对角元素矩阵 18
2.2.5 Hilbert矩阵及 Hilbert逆矩阵 20
2.2.6相伴矩阵 · 21
2.2.7 Wilkinson矩阵 · 21
2.2.8 Vandermonde矩阵 22
2.2.9一些常用的测试矩阵 23
2.3符号型矩阵的输入方法 24
2.3.1特殊符号矩阵的输入方法 24
2.3.2任意常数矩阵的输入 24
2.3.3任意矩阵函数的输入 25
2.4稀疏矩阵的输入 · 26
2.5矩阵的基本运算 · 29
2.5.1复数矩阵的处理 29
·iv·薛定宇教授大讲堂(卷 III):MATLAB线性代数运算
2.5.2矩阵的转置与旋转 30
2.5.3矩阵的代数运算 31
2.5.4矩阵的 Kronecker乘积与 Kronecker和 · 36
2.6矩阵函数的微积分运算 37
2.6.1矩阵函数的导数 37
2.6.2矩阵函数的积分 38
2.6.3向量函数的 Jacobi矩阵 39
2.6.4 Hesse矩阵 39本章习题 40
第 3章矩阵基本分析 · 43
3.1行列式 · 43
3.1.1行列式的定义与性质 43
3.1.2低阶矩阵的行列式计算 44
3.1.3行列式计算问题的 MATLAB求解 47
3.1.4任意阶特殊矩阵的行列式计算· 50
3.1.5线性方程组的 Cramer法则 · 51
3.1.6正矩阵与完全正矩阵 52
3.2矩阵的简单分析 · 53
3.2.1矩阵的迹 · 54
3.2.2线性无关与矩阵的秩 54
3.2.3矩阵的范数 · 56
3.2.4向量空间 · 58
3.3逆矩阵与广义逆矩阵 59
3.3.1矩阵的逆矩阵 59
3.3.2逆矩阵的导函数 60
3.3.3 MATLAB提供的矩阵求逆函数 61
3.3.4简化的行阶梯型矩阵 63
3.3.5矩阵的广义逆 65
3.4特征多项式与特征值 67
3.4.1矩阵的特征多项式 67
3.4.2多项式方程的求根 69
3.4.3一般矩阵的特征值与特征向量· 70
3.4.4矩阵的广义特征向量问题 73
3.4.5 Gershgorin圆盘与对角占优矩阵 · 75 3.5矩阵多项式 · 76
3.5.1矩阵多项式的求解 76
3.5.2矩阵的最小多项式 78
3.5.3符号多项式与数值多项式的转换 · 78本章习题 80
第 4章矩阵的基本变换与分解 83
4.1相似变换与正交矩阵 83
4.1.1相似变换 · 83
4.1.2正交矩阵与正交基 84
4.2初等行变换 · 85
4.2.1三种初等行变换方法 86
4.2.2用初等行变换的方法求逆矩阵· 88
4.2.3主元素方法求逆矩阵 89
4.3矩阵的三角分解 · 90
4.3.1线性方程组的 Gauss消去法 · 90
4.3.2一般矩阵的三角分解算法与实现 · 91
4.3.3 MATLAB三角分解函数 · 92
4.4矩阵的 Cholesky分解 94
4.4.1对称矩阵的 Cholesky分解 94
4.4.2对称矩阵的二次型表示 95
4.4.3正定矩阵与正规矩阵 96
4.4.4非正定矩阵的 Cholesky分解 97
4.5相伴变换与 Jordan变换 98
4.5.1一般矩阵变换成相伴矩阵 98
4.5.2矩阵的对角化 99
4.5.3矩阵的 Jordan变换 · 100
4.5.4复特征值矩阵的实 Jordan分解 101
4.5.5正定矩阵的同时对角化 103
4.6奇异值分解 · 104
4.6.1奇异值与条件数 104
4.6.2长方形矩阵的奇异值分解 106
4.6.3基于奇异值分解的同时对角化· 106
4.7 Givens变换与 Householder变换 · 107
4.7.1二维坐标的旋转变换 107
4.7.2一般矩阵的 Givens变换 109
·vi·薛定宇教授大讲堂(卷 III):MATLAB线性代数运算
4.7.3 Householder变换 · 111本章习题 112
第 5章矩阵方程求解 · 115
5.1线性方程组 · 115
5.1.1唯一解的求解 116
5.1.2方程无穷解的求解与构造 119
5.1.3矛盾方程的求解 122
5.1.4线性方程解的几何解释 122
5.2其他形式的简单线性方程组 124
5.2.1方程 XA = B的求解 · 124
5.2.2方程 AXB = C的求解 125
5.2.3基于 Kronecker乘积的方程解法 127
5.2.4多项方程 AXB = C的求解 127
5.3 Lyapunov方程· 128
5.3.1连续 Lyapunov方程 · 128
5.3.2二阶 Lyapunov方程的 Kronecker乘积表示 · 130
5.3.3一般 Lyapunov方程的解析解 130
5.3.4 Stein方程的求解 · 131
5.3.5离散 Lyapunov方程 · 132
5.4 Sylvester方程 · 133
5.4.1 Sylvester方程的数学形式与数值解 · 133
5.4.2 Sylvester方程的解析求解 133
5.4.3含参数 Sylvester方程的解析解 136
5.4.4多项 Sylvester方程的求解 136
5.5非线性矩阵方程 · 137
5.5.1 Riccati代数方程 · 137
5.5.2一般多解非线性矩阵方程的数值求解 · 138
5.5.3变形 Riccati方程的求解 142
5.5.4一般非线性矩阵方程的数值求解 · 143
5.6多项式方程的求解 144
5.6.1多项式互质 · 144
5.6.2 Diophantine多项式方程 145
5.6.3伪多项式方程求根 147本章习题 148 第 6章矩阵函数 · 151
6.1矩阵元素的非线性运算 152
6.1.1数据的取整与有理化运算 152
6.1.2超越函数计算命令 153
6.1.3向量的排序、最大值与最小值 156
6.1.4数据的均值、方差与标准差 · 156
6.2矩阵指数函数计算 157
6.2.1矩阵函数的定义与性质 157
6.2.2矩阵指数函数的运算 158
6.2.3基于 Taylor幂级数的截断算法· 158
6.2.4基于 Cayley–Hamilton定理的计算 160
6.2.5 MATLAB的直接计算函数 161
6.2.6基于 Jordan变换的求解方法 162
6.3矩阵的对数与平方根函数计算 163
6.3.1矩阵的对数运算 163
6.3.2矩阵的平方根运算 164
6.4矩阵的三角函数运算 165
6.4.1矩阵的三角函数运算 165
6.4.2基于幂级数展开的矩阵三角函数计算 · 166
6.4.3矩阵三角函数的解析求解 167
6.5一般矩阵函数的运算 169
6.5.1幂零矩阵 · 169
6.5.2基于 Jordan变换的矩阵函数运算 170
6.5.3矩阵自定义函数的运算 173
6.6矩阵的乘方运算 · 174
6.6.1基于 Jordan变换的矩阵乘方运算 174
6.6.2通用乘方函数的编写 175
6.6.3基于 z变换的矩阵乘方计算 · 176
6.6.4计算矩阵乘方 kA · 177本章习题 178
第 7章线性代数的应用 180
7.1线性方程组的应用 180
7.1.1电路网络分析 180
7.1.2结构平衡的分析方法 186
7.1.3化学反应方程式配平 186
·viii·薛定宇教授大讲堂(卷 III):MATLAB线性代数运算
7.2线性控制系统中的应用 188
7.2.1控制系统的模型转换 189
7.2.2线性系统的定性分析 190
7.2.3多变量系统的传输零点 192
7.2.4线性微分方程的直接求解 192
7.3数字图像处理应用简介 193
7.3.1图像的读入与显示 194
7.3.2矩阵的奇异值分解 195
7.3.3图像几何尺寸变换与旋转 196
7.3.4图像增强 · 198
7.4图论与应用 · 200
7.4.1有向图的描述 201
7.4.2 Dijkstra最短路径算法及实现 · 202
7.4.3控制系统方框图化简 205
7.5差分方程求解 · 208
7.5.1一般差分方程的解析解方法· 209
7.5.2线性时变差分方程的数值解方法 · 210
7.5.3线性时不变差分方程的解法· 212
7.5.4一般非线性差分方程的数值解方法 · 213
7.5.5 Markov链的仿真 · 214
7.6数据拟合与分析 · 215
7.6.1线性回归 · 216
7.6.2多项式拟合 · 217
7.6.3 Chebyshev多项式 219
7.6.4 Bézier曲线 221
7.6.5主成分方法 · 223本章习题 225参考文献· 231
MATLAB函数名索引 · 233术语索引· 237
线性代数简介
本书是MathWorks图书计划作品。本书凝聚了薛定宇教授30年的MATLAB科研与教学积淀、30年的MATLAB推广与普及经历!其授课视频在爱课程与中国慕课数拥有十万读者学习的视频课程!英文版全球同步发行!
视频公开课: 爱课程或中国大学MOOC(慕课) “现代科学运算——MATLAB语言与应用”“控制系统仿真与CAD”(非严格配套本书视频,仅供读者参考)。
配书源代码: 配书源代码可以到清华大学出版社网站本书页面下载。
薛定宇大讲堂系列图书将陆续出版:
薛定宇教授大讲堂(卷Ⅰ):MATLAB程序设计
薛定宇教授大讲堂(卷Ⅱ):MATLAB微积分运算
薛定宇教授大讲堂(卷Ⅲ):MATLAB线性代数运算
薛定宇教授大讲堂(卷Ⅳ):MATLAB最优化计算
薛定宇教授大讲堂(卷Ⅴ):MATLAB微分方程求解
薛定宇教授大讲堂(卷Ⅵ):MATLAB/Simulink仿真
薛定宇教授: 分别在沈阳工业大学、东北大学和英国Sussex大学获得学士(1985年)、硕士(1988年)和博士学位(1992年),1997年任东北大学信息学院教授。深耕于计算机在数学与自动控制学科的应用,主持了国家精品课程建设,并于1996年在清华大学出版社出版《控制系统计算机辅助设计——MATLAB与应用》,该教材被认为是国内MATLAB应用领域具有深远影响的一部图书,为MATLAB在国内高校教学与科研中的普及起到了巨大的作用。薛定宇教授先后被评为辽宁省教学名师、辽宁省优秀教师,获得国家级教学成果二等奖。其主讲的“控制系统仿真与CAD”课程被评为国家级精品课程、国家级精品资源共享课程;主讲的“现代科学运算——MATLAB语言与应用”课程被评为辽宁省精品资源共享课程,配套录制的全新慕课课程均上线于爱课程与中国慕课网站。