第1章 绪论 1
1.1科学计算的一般过程 1
1.1.1对实际工程问题进行数学建模 1
1.1.2对数学问题给出数值计算方法 1
1.1.3对数值计算方法进行程序设计 2
1.1.4上机计算并分析结果 2
1.2数值计算方法的研究内容与特点 2
1.2.1数值计算方法的研究内容 2
1.2.2数值计算方法的特点 2
1.3计算过程中的误差及其控制 5
1.3.1误差的来源与分类 5
1.3.2误差与有效数字 6
1.3.3误差的传播 8
1.3.4误差的控制 9
1.3.5数值算法的稳定性 11
1.3.6病态问题与条件数 11
习题1 12
第2章 非线性方程的数值解法 14
2.1二分法 14
2.1.1二分法的基本思想 14
2.1.2二分法及MATLAB程序 15
2.2非线性方程求解的迭代法 18
2.2.1迭代法的基本思想 18
2.2.2不动点迭代法及收敛性 18
2.2.3迭代过程的加速方法 24
2.2.4 Newton-Raphson方法 32
2.2.5割线法与抛物线法 42
2.3非线性方程求解的MATLAB函数 46
2.3.1 MATLAB中求方程根的函数 46
2.3.2用MATLAB中函数求方程的根 46
习题2 47
第3章 线性方程组的数值解法 50
3.1向量与矩阵的范数 50
3.1.1向量的范数 50
3.1.2矩阵的范数 53
3.1.3方程组的性态条件数与摄动理论 56
3.2直接法 58
3.2.1 Gauss消去法及MATLAB程序 58
3.2.2矩阵的三角(LU)分解法 70
3.2.3矩阵的Doolittle分解法及MATLAB程序 74
3.2.4矩阵的Crout分解法 79
3.2.5对称正定矩阵的Cholesky分解及 MATLAB程序 80
3.2.6解三对角方程组的追赶法及MATLAB程序 86
3.3迭代法 88
3.3.1迭代法的一般形式 88
3.3.2 Jacobi迭代法及MATLAB程序 89
3.3.3 Gauss-Seidel迭代法及MATLAB程序 92
3.3.4超松弛迭代法及MATLAB程序 96
3.3.5共轭梯度法及MATLAB程序 99
3.4迭代法的收敛性分析 104
3.4.1迭代法的收敛性 104
3.4.2迭代法的收敛速度与误差分析 105
习题3 107
第4章 矩阵特征值与特征向量的数值算法 111
4.1预备知识 112
4.1.1 Householder变换和Givens变换 112
4.1.2 Gershgorin圆盘定理 114
4.1.3 QR分解 115
4.2乘幂法和反幂法 116
4.2.1乘幂法及MATLAB程序 117
4.2.2乘幂法的加速 122
4.2.3反幂法及MATLAB程序 124
4.3 Jacobi方法(对称矩阵) 125
4.3.1 Jacobi方法及MATLAB程序 125
4.3.2 Jacobi方法的收敛性 129
4.4 Householder方法 130
4.4.1一般实矩阵约化为Hessenberg矩阵 130
4.4.2实对称矩阵的三对角化 133
4.4.3求三对角矩阵特征值的二分法 133
4.4.4三对角矩阵特征向量的计算 135
4.5 QR方法 135
4.5.1基本的QR方法 136
4.5.2 QR方法的收敛性 137
4.5.3带原点位移的QR方法 139
4.5.4单步QR方法计算上Hessenberg矩阵特征值 140
4.5.5双步QR方法 141
4.6基于MATLAB的QR分解 141
习题4 142
第5章 插值方法 144
5.1插值多项式及存在唯一性 145
5.1.1插值多项式的一般提法 145
5.1.2插值多项式存在唯一性 145
5.2 Lagrange插值 146
5.2.1 Lagrange插值多项式 146
5.2.2线性插值与抛物线插值 148
5.2.3 Lagrange插值的MATLAB程序 149
5.2.4 Lagrange插值余项与误差估计 150
5.3 Aitken和Neville插值 153
5.3.1 Aitken逐步线性插值 153
5.3.2 Neville逐步线性插值 153
5.4差商与Newton插值 154
5.4.1差商及其性质 154
5.4.2 Newton插值多项式 156
5.4.3 Newton插值余项与误差估计 157
5.4.4 Newton插值的MATLAB程序 158
5.5差分与等距节点的Newton插值 159
5.5.1差分及其性质 159
5.5.2等距节点Newton插值多项式 161
5.5.3等距节点Newton插值的MATLAB程序 162
5.6 Hermite插值 164
5.7分段低次插值 166
5.7.1高次插值的Runge现象及MATLAB程序 166
5.7.2分段线性插值及MATLAB程序 167
5.7.3分段三次Hermite插值及MATLAB程序 170
5.8三次样条插值 172
5.8.1三次样条函数 173
5.8.2三转角插值函数(方程)及MATLAB程序 175
5.8.3三弯矩插值函数(方程)及MATLAB程序 179
5.8.4三次样条插值函数的收敛性 182
5.9 B-样条插值 183
5.9.1m次样条函数 183
5.9.2 B-样条函数 184
5.9.3 B-样条函数的性质 185
习题5 186
第6章 函数最佳逼近 189
6.1正交多项式 189
6.1.1正交函数族 189
6.1.2几个常用的正交多项式 191
6.2最佳一致逼近 197
6.2.1一致逼近的概念 197
6.2.2最佳一致逼近多项式 201
6.2.3最佳一致逼近多项式的计算 206
6.2.4最佳一致逼近三角多项式 208
6.3最佳平方逼近 211
6.3.1平方度量与平方逼近 211
6.3.2最佳平方逼近 212
6.4正交多项式的逼近性质 214
6.4.1用正交多项式作最佳平方逼近 215
6.4.2用正交多项式作最佳一致逼近 216
6.5 Fourier级数的逼近性质 218
6.5.1最佳平方三角逼近 219
6.5.2最佳一致三角逼近 219
6.5.3快速Fourier变换 223
6.6有理函数逼近 227
6.6.1连分式逼近 227
6.6.2 Pade逼近 228
6.7曲线拟合的最小二乘法及MATLAB程序 230
6.7.1曲线拟合的最小二乘法 230
6.7.2曲线拟合最小二乘法的MATLAB程序 231
习题6 232
第7章 数值积分 235
7.1机械求积公式 235
7.1.1数值积分的基本思想 235
7.1.2待定系数法 236
7.1.3插值型求积公式 237
7.1.4求积公式的收敛性与稳定性 239
7.2 Newton-Cotes求积公式 240
7.2.1 Newton-Cotes求积公式的一般形式 240
7.2.2两种低阶的Newton-Cotes求积公式 240
7.2.3误差估计 241
7.2.4 Newton-Cotes求积公式MATLAB程序 243
7.3复合求积公式 244
7.3.1复合梯形求积公式及MATLAB程序 244
7.3.2复合Simpson求积公式及MATLAB程序 245
7.3.3复合Cotes求积公式及MATLAB程序 247
7.4变步长求积公式 248
7.4.1变步长梯形求积公式及MATLAB程序 248
7.4.2自适应Simpson求积公式及MATLAB程序 250
7.5 Romberg求积算法 252
7.5.1 Romberg求积公式 252
7.5.2 Romberg求积算法的MATLAB程序 254
7.6 Gauss求积公式 256
7.6.1 Gauss求积公式的构造 257
7.6.2 5种Gauss型求积公式 259
7.6.3 Gauss求积公式及MATLAB程序 264
7.7 MATLAB中的数值积分函数 267
7.7.1 MATLAB数值积分函数 267
7.7.2应用实例 268
习题7 269
第8章 数值微分 272
8.1中点方法 272
8.1.1微分中点数值算法 272
8.1.2微分中点数值算法误差分析 273
8.2利用插值方法求微分 273
8.2.1插值型求导方法 273
8.2.2常用插值型求数值微分公式 274
8.3利用数值积分求微分 276
8.3.1矩形积分方法 276
8.3.2 Simpson积分方法 276
8.4利用三次样条求微分 277
8.5外推法在数值微分中的应用 278
习题8 279
第9章 常微分方程数值解法 280
9.1数值解法的构造途径 280
9.1.1数值解法的基本思想 280
9.1.2差商逼近法 281
9.1.3数值积分法 282
9.1.4 Taylor展开法 282
9.2 Euler方法及其改进 284
9.2.1 Euler方法及MATLAB程序 284
9.2.2改进的Euler方法及MATLAB程序 285
9.2.3预估-校正方法 292
9.2.4公式的截断误差 292
9.3 Runge-Kutta方法 293
9.3.1 Runge-Kutta方法的基本思想 293
9.3.2二阶Runge-Kutta方法 294
9.3.3三阶与四阶Runge-Kutta方法及MATLAB程序 296
9.3.4变步长的Runge-Kutta方法及MATLAB程序 299
9.4单步法的相容性、收敛性与稳定性 302
9.4.1相容性 302
9.4.2收敛性 303
9.4.3稳定性 307
9.5线性多步法 309
9.5.1线性多步法的一般公式 309
9.5.2 Adams公式及MATLAB程序 311
9.5.3 Milne方法与Simpson方法及MATLAB程序 315
9.5.4 Hamming方法及MATLAB程序 317
9.5.5预估校正方法 318
9.6微分方程组与高阶微分方程数值解 320
9.6.1一阶微分方程组 320
9.6.2高阶微分方程及MATLAB程序 322
9.6.3刚性方程 324
9.7求微分方程数值解的MATLAB函数 326
9.7.1 MATLAB中微分方程数值解函数 326
9.7.2应用实例 326
习题9 327
部分习题答案 330
参考文献 336