第1章 数值计算中的误差 1
1.1 误差的来源与分类 1
1.1.1 误差的来源与分类 1
1.1.2 误差的基本概念 2
1.1.3 误差的分析方法 4
1.2 数值运算时误差的传播 4
1.2.1 一元函数计算的误差传播 4
1.2.2 多元函数计算的误差传播 5
1.2.3 四则运算中的误差传播 5
1.3 数值计算时应注意的问题 5
1.3.1 避免相近的数作减法运算 5
1.3.2 避免分式中分母的绝对值远小于分子的绝对值 6
1.3.3 防止大数“吃”小数 6
1.3.4 简化计算量 7
1.3.5 病态问题数值算法的稳定性 8
习题1 8
第2章 线性方程组的直接解法 10
2.1 引言 10
2.2 Gauss消去法 11
2.2.1 Gauss消去法的基本思想 11
2.2.2 Gauss消去法的计算公式 12
2.2.3 Gauss消去法的条件 13
2.3 Gauss主元素法 13
2.3.1 列主元消去法 14
2.3.2 全主元消去法 15
2.4 Gauss-Jordan消去法 16
2.4.1 Gauss-Jordan消去法 16
2.4.2 方阵的求逆 17
2.5 矩阵的LU分解 18
2.5.1 矩阵的LU分解 18
2.5.2 Doolittle分解 20
2.5.3 Crout分解 21
2.5.4 列主元三角分解 23
2.6 平方根法 24
2.6.1 矩阵的LDU分解 24
2.6.2 Cholesky分解 25
2.6.3 平方根法 26
2.6.4 改进的平方根法 27
2.6.5 行列式的求法 29
2.7 追赶法 29
2.8 向量和矩阵的范数 31
2.8.1 向量范数 31
2.8.2 矩阵范数 32
2.8.3 谱半径 33
2.8.4 条件数及病态方程组 34
习题2 37
第3章 线性方程组的迭代解法 40
3.1 迭代法的一般形式 40
3.2 几种常用的迭代公式 40
3.2.1 Jacobi方法 41
3.2.2 Gauss-Seidel迭代法 42
3.2.3 逐次超松弛法 44
3.3 迭代法的收敛条件 45
3.3.1 从迭代矩阵判断收敛 45
3.3.2 从系数矩阵判断收敛 47
3.4 共轭梯度法 50
3.4.1 变分原理 50
3.4.2 最速下降法 51
3.4.3 共轭梯度法 52
习题3 53
第4章 方阵特征值和特征向量的计算 55
4.1 乘幂法 55
4.1.1 乘幂法 55
4.1.2 改进的乘幂法 56
4.1.3 反幂法 58
4.1.4 原点平移加速技术 60
4.2 Jacobi方法 60
4.2.1 平面旋转矩阵 60
4.2.2 古典Jacobi方法 62
4.2.3 Jacobi过关法 63
4.3 QR方法 64
4.3.1 Householder变换 64
4.3.2 LR分解 65
4.3.3 QR分解 66
习题4 67
第5章 非线性方程求根 69
5.1 二分法 69
5.2 不动点迭代法 71
5.2.1 不动点与不动点迭代法 71
5.2.2 不动点迭代法的收敛性 72
5.2.3 迭代法的收敛速度 73
5.3 Newton迭代法 74
5.3.1 Newton迭代法 74
5.3.2 割线法 77
5.4 Aitken加速方法与重根迭代法 79
5.4.1 Aitken加速方法 79
5.4.2 重根的迭代 80
5.5 非线性方程组求根 82
5.5.1 不动点迭代法 82
5.5.2 Newton迭代法 84
5.5.3 Newton法的一些改进方案 85
习题5 86
第6章 插值法 88
6.1 Lagrange插值 89
6.1.1 Lagrange插值多项式 89
6.1.2 插值余项 90
6.2 Newton插值法 92
6.2.1 差商 92
6.2.2 Newton插值多项式 93
6.3 差分与用差分表示的插值多项式 96
6.3.1 差分的概念和性质 96
6.3.2 常见的差分插值多项式 97
6.4 Aitken插值 99
6.5 Hermite插值 101
6.6 分段插值 104
6.6.1 Runge振荡现象 104
6.6.2 插值多项式数值计算的稳定性 105
6.6.3 分段线性插值 106
6.6.4 分段三次Hermite插值 107
6.7 样条插值 108
6.7.1 样条插值的基本概念 109
6.7.2 三弯矩插值法 109
6.7.3 三转角插值法 111
习题6 114
第7章 函数逼近与曲线拟合 117
7.1 逼近的概念 117
7.2 最佳平方逼近 118
7.2.1 函数的最佳平方逼近 118
7.2.2 用多项式作最佳平方逼近 119
7.2.3 用正交函数系作最佳平方逼近 122
7.3 正交多项式及其性质 122
7.3.1 正交多项式 122
7.3.2 正交多项式的性质 123
7.3.3 常见的正交多项式 124
7.3.4 正交多项式的应用 126
7.4 数据拟合与最小二乘法 129
7.4.1 最小二乘法 129
7.4.2 多项式拟合 130
7.4.3 用正交多项式作曲线拟合 133
7.5 超定线性方程组的最小二乘解 135
习题7 136
第8章 数值积分与数值微分 139
8.1 求积公式 139
8.1.1 问题的提出 139
8.1.2 数值积分的基本思想 139
8.1.3 代数精度 140
8.1.4 插值型求积公式 140
8.2 Newton-Cotes公式 141
8.2.1 Newton-Cotes公式 141
8.2.2 常见的Newton-Cotes公式 141
8.2.3 Newton-Cotes公式的稳定性 144
8.3 复化求积公式 144
8.3.1 复化梯形公式 145
8.3.2 复化Simpson公式 146
8.3.3 复化Cotes公式 146
8.3.4 变步长方法 147
8.4 Romberg求积公式 148
8.4.1 Richardson外推法 148
8.4.2 Romberg积分法 150
8.5 Gauss型求积公式 152
8.5.1 Gauss型求积公式及其性质 152
8.5.2 常见的Gauss型求积公式 155
8.5.3 复化Gauss型求积公式 158
8.6 数值微分 159
8.6.1 由Taylor展式得到的数值微分 159
8.6.2 插值型数值微分 161
8.6.3 利用数值积分做数值微分 162
习题8 163
第9章 常微分方程的数值解法 166
9.1 引言 166
9.2 Euler方法 167
9.2.1 Euler方法的推导 167
9.2.2 几何意义 168
9.2.3 Euler方法的改进 168
9.3 Runge-Kutta方法 171
9.3.1 Runge-Kutta方法的构造 171
9.3.2 高阶的Runge-Kutta公式 172
9.3.3 步长的选取 173
9.4 线性多步法 175
9.4.1 线性多步法的一般形式 175
9.4.2 用数值积分构造线性多步法 177
9.4.3 四阶Adams预测—校正方法 179
9.5 局部截断误差的估计 180
9.5.1 局部截断误差的估计 180
9.5.2 修正的Adams预测—校正法 180
9.6 一阶方程组与高阶方程 181
9.6.1 一阶方程组 181
9.6.2 高阶方程的情形 181
9.7 收敛性与稳定性 182
9.7.1 收敛性 182
9.7.2 稳定性 182
9.8 常微分方程边值问题的差分方法 184
9.8.1 线性边值问题 184
9.8.2 非线性方程边值问题的差分方法 187
习题9 187
第10章 偏微分方程的有限差分解法 190
10.1 抛物型方程的差分格式 190
10.1.1 一维抛物型方程的常见差分格式 190
10.1.2 收敛性和稳定性 195
10.2 双曲型方程的差分格式 197
10.2.1 一阶线性双曲型方程的差分格式 198
10.2.2 二阶双曲型方程的差分格式 202
10.3 椭圆型方程的差分格式 205
10.3.1 差分格式的建立 205
10.3.2 差分方程组的解法 207
习题10 209
第11章 MATLAB软件与数值计算 211
11.1 矩阵与数组 211
11.2 函数运算和作图 214
11.2.1 基本初等函数 214
11.2.2 多项式函数 214
11.2.3 矩阵函数 215
11.2.4 绘图命令 220
11.2.5 MATLAB编程 223
11.3 线性方程组的数值解 225
11.3.1 直接法 225
11.3.2 迭代法 227
11.3.3 迭代法收敛理论 232
11.3.4 SOR法的松弛因子 233
11.3.5 病态方程组和条件数 235
11.4 方阵的特征值和特征向量 236
11.4.1 乘幂法 236
11.4.2 古典Jacobi旋转法 237
11.4.3 基本QR算法 239
11.4.4 MATLAB中求特征值和特征向量的命令 241
11.5 非线性方程和方程组求根 242
11.5.1 二分法 242
11.5.2 Newton法 243
11.5.3 MATLAB中关于方程(组)求根的命令 244
11.6 插值方法 246
11.6.1 Lagrange插值 246
11.6.2 Newton插值 246
11.6.3 用拟合命令polyfit作插值 247
11.6.4 MATLAB中的插值命令 248
11.7 函数逼近与数据拟合 250
11.7.1 多项式数据拟合 250
11.7.2 非线性拟合 251
11.7.3 最佳平方逼近 253
11.8 数值积分 255
11.8.1 数值积分公式 255
11.8.2 复化数值积分计算 256
11.8.3 Romberg积分计算 257
11.8.4 MATLAB中的积分公式 259
11.9 常微分方程初值问题数值解 260
11.9.1 单步法 260
11.9.2 线性多步法 264
11.9.3 线性常微分方程边值问题求解 265
11.9.4 MATLAB中求解常微分方程初值问题数值解的命令 268
习题参考答案与提示 270
主要参考文献 280