本书是为工程硕士数值分析课程编写的教材,比较系统地介绍了数值分析学科的基本方法和理论,选材着重基础,也强调方法在计算机上如何实现,并讨论了一些实际问题中与数值计算有关的数学模型.
本书第1章是数学模型和数值计算一般问题的引论,其他各章内容包括求解线性代数方程组的直接方法和迭代方法、求解非线性方程和方程组的数值方法、矩阵特征值问题的计算方法、函数的插值和逼近、数值积分与数值微分以及常微分方程初值问题的数值方法.各章都配有相关数学模型的例题,章末有习题和计算实习题.书末还附有计算实习所用工具MATLAB的简明介绍.
本书可作为工程硕士研究生教材,也可作为其他理工科各专业本科生或研究生教材,并可供工程技术人员和科研人员参考.
半个多世纪以来,计算机技术和计算数学学科都有了飞速的发展.现在,科学计算已经成为各门自然科学、工程技术科学和经济科学等学科不可缺少的一种手段.在科学研究、工程技术设计和制造等方面都离不开科学计算.而数值分析是科学计算的核心,它已成为国内外大学普遍开设的一门数学课程.
数值分析课程的内容一般包含科学计算中一些最基础的数值方法及其分析,这些方法可以直接用于科学和工程计算,也是其他一些更复杂数值计算方法的基础.数值分析学科既是一门基础性的数学学科,也是一门应用性很强的学科.本书是为工程硕士研究生数值分析课程编写的教材,取名为《数值方法》.它比较系统地介绍了这门学科的一些基本方法和理论,同时也针对读者对象的一些情况(例如部分读者离开大学课堂已有一段时间,或是在职学习等)作了适当的安排.选材更基础一些,更着重对方法的分析并引入了各种类型的例子,强调方法在计算机上如何实现.同时,也联系一些工程学科和其他学科中的实际问题,讨论这些问题与数值计算有关的数学模型.这在本书第1章作了一些介绍,在以后各章也有与该章内容有关的例子.
本书的主要内容包括线性代数的数值计算(方程组的直接方法、迭代方法以及特征值问题的计算)、非线性方程的数值解法、函数的插值和逼近、数值积分与数值微分以及常微分方程初值问题的数值解法.第1章是有关的数学模型和数值计算一般问题的引论,也把线性代数的一些知识集中在这一章作了介绍,为后面的内容作准备.在各章的结尾,有关于本章内容的习题和计算实习题.计算实习题所用的工具MATLAB,目前很多科技、工程人员和学生已经熟悉并在工作中使用,我们也在本书的附录中给出一个最简单的介绍.
教学中使用本书可以有不同的处理.第1章一些准备知识和以下各章的讲授次序是可以调整的.一般60学时左右的课程可以讲授除第5章(特征值问题)外各章的大部分内容.学时较少的课程还可以再酌减内容,本书目录中带*号的章节可以作为删节的首选.本书是为工程硕士研究生的课程编写的,也可以作为其他理工科各专业的本科生和研究生课程的教材.我们更希望本书也能对学习这方面知识的工程技术人员和科研人员有所帮助.
本书第1章的1.1节、1.2节和第6章至第9章由陆金甫编写,其余部分由关治编写.
本书的编写得到全国工程硕士专业学位教育指导委员会和清华大学研究生院以及清华大学出版社的支持和帮助,他们指导性的意见对本书的编写起到了重要作用,对此我们深表感谢.在本书申请编写过程中,参加评审的同行专家提出了十分中肯的意见供我们参考,对他们的支持我们也非常感谢.我们在与清华大学讲授过同类课程的同事们之间的交流中获益匪浅,也谢谢他们对本书的关心.我们还特别感谢负责编辑的清华大学出版社刘颖博士,他为本书提出了宝贵的具体意见,本书的顺利出版与他认真、细致的工作是分不开的.最后,我们期望国内的教师同行、学生和广大读者对本书提出宝贵的意见,您们的意见对本书的进一步改进一定会有很大的帮助.
第1章数学模型和数值方法引论1
1.1数学模型及其建立方法与步骤1
1.1.1数学模型1
1.1.2人口增长模型1
1.1.3建立数学模型的方法与步骤4
1.2数学模型举例5
1.2.1投入产出数学模型5
1.2.2两物种群体竞争系统7
1.2.3矿道中梯子问题8
1.3数值方法的研究对象10
1.4数值计算的误差10
1.4.1误差的来源与分类10
1.4.2误差与有效数字11
1.4.3求函数值和算术运算的误差估计13
1.5病态问题、数值稳定性与避免误差危害14
1.5.1病态问题与条件数14
1.5.2数值方法的稳定性15
1.5.3避免误差危害17
1.6线性代数的一些基础知识19
1.6.1矩阵的特征值问题、相似变换19
1.6.2线性空间和内积空间21
1.6.3范数、线性赋范空间24
1.6.4向量的范数和矩阵的范数26
1.6.5几种常见矩阵的性质30
习题35
第2章线性代数方程组的直接解法39
2.1引论39
2.2Gauss消去法40
2.2.1顺序消去与回代过程40
2.2.2顺序消去能实现的条件43
2.2.3矩阵的三角分解44
2.2.4列主元素消去法45
2.3直接三角分解方法48
2.3.1Doolittle分解方法48
2.3.2三对角方程组的追赶法50
2.3.3对称正定矩阵的Cholesky分解、平方根法52
2.4矩阵的条件数与病态方程组57
2.4.1扰动方程组、病态现象57
2.4.2矩阵的条件数与扰动方程组的误差分析58
2.4.3病态方程组的解法61
习题62
计算实习题64
第3章线性代数方程组的迭代解法66
3.1迭代法的基本概念66
3.1.1引言66
3.1.2向量序列和矩阵序列的极限68
3.1.3迭代公式的构造71
3.1.4迭代法的收敛性分析73
3.2Jacobi迭代法和GaussSeidel迭代法76
3.2.1Jacobi迭代法76
3.2.2GaussSeidel迭代法76
3.2.3J法和GS法的收敛性77
3.3超松弛迭代法79
3.3.1逐次超松弛迭代公式79
3.3.2SOR迭代法的收敛性80
3.3.3最优松弛因子81
3.3.4模型问题几种迭代法的比较83
*3.4共轭梯度法84
3.4.1与方程组等价的变分问题84
3.4.2最速下降法85
3.4.3共轭梯度法86
习题89
计算实习题91
第4章非线性方程和方程组的数值解法93
4.1引言93
4.2二分法和试位法96
4.2.1二分法96
4.2.2试位法97
4.3不动点迭代法98
4.3.1不动点和不动点迭代法98
4.3.2不动点迭代法在区间[a,b\]的收敛性100
4.3.3局部收敛性102
4.4迭代加速收敛的方法104
4.4.1Aitken加速方法104
4.4.2Steffensen迭代方法105
4.5Newton迭代法和割线法106
4.5.1Newton迭代法的计算公式和收敛性106
4.5.2Newton法的进一步讨论107
*4.5.3割线法110
*4.6非线性方程组的数值解法111
4.6.1非线性方程组111
4.6.2非线性方程组的不动点迭代法112
4.6.3非线性方程组的Newton迭代法114
习题115
计算实习题116
*第5章矩阵特征值问题的计算方法118
5.1矩阵特征值问题的性质118
5.1.1矩阵特征值问题118
5.1.2特征值的估计和扰动120
5.2正交变换和矩阵分解121
5.2.1Householder变换121
5.2.2Givens变换124
5.2.3矩阵的QR分解和Schur分解125
5.2.4正交相似变换化矩阵为Hessenberg形式129
5.3幂迭代法和逆幂迭代法133
5.3.1幂迭代法133
5.3.2加速技巧135
5.3.3逆幂迭代法135
5.4QR方法的基本原理137
5.4.1基本的QR迭代算法137
5.4.2Hessenberg矩阵的QR方法139
5.4.3带有原点位移的QR方法140
5.5对称矩阵特征值问题的计算142
5.5.1对称矩阵特征值问题的性质142
5.5.2Rayleigh商的应用143
5.5.3Jacobi方法144
习题148
计算实习题150
第6章插值法151
6.1Lagrange插值152
6.1.1Lagrange插值多项式152
6.1.2插值多项式的余项156
6.2均差与Newton插值多项式161
6.2.1均差及其性质161
6.2.2Newton插值公式163
*6.2.3差分及其性质167
*6.2.4等距节点的Newton插值公式168
6.3Hermite插值170
6.3.1Hermite插值多项式171
6.3.2重节点均差174
6.3.3Newton形式的Hermite插值多项式175
6.4分段低次插值方法178
6.4.1Runge现象178
6.4.2分段线性插值179
6.4.3分段三次Hermite插值180
6.5三次样条插值函数181
6.5.1三次样条插值函数182
6.5.2三次样条插值函数的计算方法183
6.5.3三次样条插值函数的误差187
习题188
计算实习题189
第7章函数逼近191
7.1正交多项式192
7.1.1正交多项式的概念及性质192
7.1.2Legendre多项式194
7.1.3Chebyshev多项式195
7.1.4Chebyshev多项式零点插值196
7.1.5Laguerre多项式199
7.1.6Hermite多项式199
*7.2最佳平方逼近200
7.2.1最佳平方逼近的概念及计算200
7.2.2用正交函数组作最佳平方逼近203
7.2.3用Legendre正交多项式作最佳平方逼近205
*7.3有理函数逼近206
7.3.1有理分式207
7.3.2Padé逼近207
7.3.3连分式211
7.4曲线拟合的最小二乘法212
7.4.1最小二乘法及其计算212
7.4.2线性化方法216
7.4.3用正交多项式作最小二乘曲线拟合219
习题222
计算实习题223
第8章数值积分与数值微分225
8.1NewtonCotes求积公式226
8.1.1梯形公式和Simpson公式226
8.1.2插值型求积公式230
8.1.3代数精度231
8.1.4NewtonCotes求积公式232
8.1.5开型NewtonCotes求积公式234
8.1.6NewtonCotes求积公式的数值稳定性236
8.2复合求积公式237
8.2.1复合梯形求积公式237
8.2.2复合Simpson求积公式239
8.3Romberg求积公式241
8.3.1外推技巧241
8.3.2Romberg求积公式243
*8.4自适应积分法245
8.5Gauss型求积公式247
8.5.1Gauss型求积公式249
8.5.2Gauss型求积公式的稳定性与收敛性254
8.5.3GaussLegendre求积公式256
8.5.4GaussChebyshev求积公式259
*8.5.5GaussLaguerre求积公式260
*8.5.6GaussHermite求积公式261
*8.6数值微分262
8.6.1Taylor展开构造数值微分263
8.6.2插值型求导公式265
8.6.3数值微分的外推算法268
8.6.4高阶数值微分270
习题273
计算实习题275
第9章常微分方程初值问题的数值解法276
9.1引言276
9.2简单数值方法278
9.2.1显式Euler方法278
9.2.2隐式Euler方法279
9.2.3梯形方法280
9.2.4预估校正方法281
9.2.5单步方法的截断误差283
9.3RungeKutta方法286
9.3.1用Taylor展开构造高阶数值方法286
9.3.2RungeKutta方法288
9.3.3高阶方法与隐式RungeKutta方法292
9.4单步法的相容性、收敛性和绝对稳定性294
9.4.1相容性294
9.4.2收敛性295
9.4.3绝对稳定性296
9.5线性多步法300
9.5.1线性多步法的基本概念300
9.5.2Adams方法302
9.5.3待定系数方法306
9.5.4预估校正方法307
*9.6线性多步法的相容性、收敛性和绝对稳定性310
9.6.1相容性310
9.6.2收敛性310
9.6.3绝对稳定性313
*9.7误差控制与变步长316
9.7.1单步法316
9.7.2线性多步法318
9.8一阶方程组与刚性方程组320
9.8.1一阶方程组320
9.8.2高阶微分方程初值问题324
9.8.3刚性微分方程组324
习题326
计算实习题327
附录AMATLAB简介329
A.1常数329
A.2矩阵329
A.2.1矩阵的形成329
A.2.2矩阵运算331
A.2.3数组运算331
A.3函数332
A.3.1内部函数332
A.3.2用户定义的函数333
A.4绘图333
A.5编程335
部分习题的答案或提示337
参考文献353