第1章 计算方法概论 1
1.1 引言 1
1.1.1 计算方法的意义 1
1.1.2 计算方法的特点与任务 1
1.2 算法与效率 2
1.2.1 算法 2
1.2.2 算法的效率 4
1.3 计算机机器数系与浮点运算 5
1.3.1 二进制数与计算机机器数系 5
1.3.2 数据的表示与浮点运算 7
1.4 误差 8
1.4.1 误差的概念 9
1.4.2 四则运算与函数求值的误差 11
1.5 问题的性态与算法的数值稳定性 13
1.5.1 问题的性态与条件数 13
1.5.2 算法的数值稳定性 15
1.6 应用实例与Matlab 19
1.6.1 Matlab简介 19
1.6.2 应用实例 23
小结 24
习题1 24
第2章 数值计算的理论基础 26
2.1 度量空间与压缩映射 26
2.1.1 距离与极限 26
2.1.2 压缩映射 28
2.2 内积 29
2.2.1 线性空间 29
2.2.2 内积空间与元素的夹角 30
2.3 范数 31
2.3.1 赋范线性空间 32
2.3.2 向量范数与矩阵范数 34
小结 38
习题2 39
第3章 非线性方程求根 40
3.1 引言 40
3.1.1 问题的背景 40
3.1.2 基本概念 40
3.2 二分法 41
3.3 不动点迭代法 43
3.3.1 不动点迭代 43
3.3.2 不动点迭代的收敛性、误差估计 45
3.4 牛顿迭代法 49
3.4.1 牛顿迭代法及其收敛性 49
3.4.2 牛顿迭代法的变形 51
3.5 迭代法收敛阶与加速收敛 54
3.5.1 迭代法收敛阶 54
3.5.2 重根的计算 56
3.5.3 加速收敛 57
3.6 应用实例与Matlab 60
3.6.1 多项式求根 60
3.6.2 应用实例 63
小结 65
习题3 66
第4章 线性方程组的直接解法 68
4.1 引言 68
4.2 高斯消元法 69
4.2.1 回代法 69
4.2.2 高斯顺序消元法 70
4.2.3 选主元消元法 74
4.2.4 计算量与稳定性 78
4.3 矩阵分解与应用 79
4.3.1 矩阵的直接LU分解 79
4.3.2 追赶法 83
4.3.3 平方根法 85
4.4 误差分析 89
4.4.1 方程组的误差估计 89
4.4.2 矩阵的条件数与迭代求精法 90
4.5 应用实例与Matlab 92
小结 96
习题4 97
第5章 方程组的迭代解法 99
5.1 引言 99
5.2 线性方程组的迭代解法 99
5.2.1 常用迭代法 100
5.2.2 迭代法收敛性分析 105
5.3 非线性方程组的迭代解法 115
5.3.1 简单迭代法 115
5.3.2 牛顿迭代法 117
5.3.3 最速下降法 119
5.4 应用实例与Matlab 121
小结 124
习题5 125
第6章 矩阵特征值的数值计算 127
6.1 引言 127
6.2 幂法与反幂法 128
6.2.1 幂法与加速方法 128
6.2.2 反幂法 134
6.3 矩阵的正交分解 136
6.3.1 豪斯荷尔德变换和吉凡斯变换 136
6.3.2 矩阵正交相似上海森伯格阵 141
6.4 方法 143
6.4.1 矩阵的QR分解 143
6.4.2 QR方法 146
6.4.3 QR方法的改进 147
6.5 雅可比方法 151
6.6 应用实例与Matlab 154
6.6.1 Matlab中关于特征值与矩阵分解相关的命令 154
6.6.2 和特征值和特征向量有关的方面介绍 156
小结 159
习题6 160
附录6A 161
附录6B 163
第7章 插值法 167
7.1 引言 167
7.1.1 问题描述 167
7.1.2 代数插值 168
7.2 拉格朗日插值 169
7.2.1 线性插值和抛物插值 169
7.2.2 拉格朗日插值多项式 170
7.2.3 插值余项与误差估计 171
7.3 牛顿插值 173
7.3.1 差商及其性质 173
7.3.2 牛顿插值多项式及其插值余项 175
7.3.3 差分与等距结点牛顿插值 177
7.4 埃尔米特插值 180
7.4.1 埃尔米特插值多项式 180
7.4.2 埃尔米特插值余项 181
7.5 分段低次插值多项式 183
7.5.1 龙格现象与分段线性插值 183
7.5.2 分段三次埃尔米特插值多项式 185
7.6 三次样条插值 186
7.6.1 三次样条函数的概念 186
7.6.2 三弯矩法求三次样条插值函数 187
7.7 二维插值 191
7.8 应用实例与Matlab 194
7.8.1 一维插值 194
7.8.2 高维插值 197
小结 200
习题7 200
附录7A B-样条插值 203
第8章 函数逼近与曲线拟合 210
8.1 引言 210
8.2 正交多项式 211
8.2.1 正交函数系 211
8.2.2 勒让德多项式 213
8.2.3 切比雪夫多项式 214
8.2.4 其他常用的正交多项式 216
8.3 最佳平方逼近 217
8.3.1 问题描述与求解 217
8.3.2 基于幂函数的最佳平方逼近 218
8.3.3 基于正交函数的最佳平方逼近 221
8.4 曲线拟合的最小二乘法 223
8.4.1 问题描述与求解 223
8.4.2 基于正交函数的最小二乘法 227
8.5 最佳平方三角逼近与离散傅里叶变换 229
8.6 应用实例与Matlab 233
8.6.1 函数逼近 233
8.6.2 数据拟合 234
8.6.3 快速傅里叶变换与三角插值 238
小结 239
习题8 240
附录8A 有理逼近 242
第9章 数值积分与数值微分 247
9.1 引言 247
9.2 插值型求积公式 248
9.2.1 代数精度 248
9.2.2 牛顿-柯特斯积分 250
9.2.3 牛顿-柯特斯公式的求积余项和数值稳定性 251
9.2.4 复化求积公式 253
9.2.5 自适应求积公式 255
9.3 理查森外推法与龙贝格求积公式 257
9.3.1 理查森外推加速法 257
9.3.2 龙贝格求积公式 258
9.4 高斯求积公式 261
9.4.1 高斯型求积公式 262
9.4.2 几种常用高斯型求积公式 264
9.5 多重积分的数值计算 270
9.5.1 插值型求积公式 270
9.5.2 重积分的复化公式 271
9.5.3 计算多重积分的高斯法 273
9.6 数值微分 275
9.6.1 插值型数值微分 277
9.6.2 数值微分的外推法 279
9.7 应用实例和Matlab 280
9.7.1 Matlab中关于积分的命令 280
9.7.2 应用实例 282
小结 283
习题9 284
第10章 常微分方程初值问题的数值解法 286
10.1 引言 286
10.2 初值问题解法的基本概念 286
10.3 简单单步法 287
10.3.1 欧拉方法 287
10.3.2 梯形公式与改进的欧拉方法 290
10.4 单步法的误差与稳定性 292
10.4.1 单步法的截断误差与阶 292
10.4.2 单步法的收敛性 295
10.4.3 单步法的稳定性 295
10.5 高阶单步方法 298
10.5.1 泰勒方法 298
10.5.2 龙格-库塔方法 298
10.6 线性多步法 303
10.6.1 亚当姆斯显式法 304
10.6.2 亚当姆斯隐式法 307
10.6.3 线性多步法的稳定性 308
10.6.4 亚当姆斯预测—校正法 311
10.7 一阶微分方程组与高阶微分方程 313
10.7.1 一阶微分方程组的数值解法 313
10.7.2 高阶微分方程 314
10.8 应用实例与Matlab 315
10.8.1 Matlab关于常微分方程初值问题数值解法的命令 315
10.8.2 应用实例 316
小结 318
习题10 319
第11章 常微分方程边值问题的数值解法 321
11.1 引言 321
11.2 打靶法 321
11.3 有限差分方法 325
11.4 应用实例与Matlab 328
11.4.1 Matlab关于常微分方程边值问题数值解法的命令 328
11.4.2 应用实例 328
小结 332
习题11 332
部分习题参考答案 334
参考文献 345