《数值分析与科学计算》系统地介绍了数值分析的有关内容,共十章.内容包括:误差:非线性方程求根;线性方程组的数值解法;解线性代数方程组的迭代法;非线性方程组数值解与最优化方法;插值方法;数据拟合与函数逼近;数值积分和数值微分;常微分方程的数值解;矩阵特征值与特征向量的计算.本书的最大特色是在书中增加了科学计算与matlab软件的内容,在介绍各种数值方法的同时,具体讲解了如何将算法编写成程序,以及如何用数学软件求解相关的数值问题.
更多科学出版社服务,请扫码获取。
《数值分析与科学计算》可作为工科研究生以及本科生“数值分析”或“计算方法”课程的教材或教学参考书,也可作为“数值分析实验”的参考书和数学建模竞赛的辅导教材,还可供科技工:作者和工程技术人员学习和参考.
目录
前言
第1章 误差 1
1.1 误差的来源 1
1.1.1 误差分析的重要性 1
1.1.2 误差的来源 2
1.2 误差 4
1.2.1 绝对误差与相对误差 4
1.2.2 有效数字与舍入误差 6
1.2.3 条件数与病态问题 7
1.3 数值计算中需要注意的问题 9
1.3.1 避免两个相近的数相减 9
1.3.2 防止大数“吃掉”小数 10
1.3.3 注意简化计算步骤, 减少运算次数 11
1.3.4 避免误差的传播与积累 12
1.4 科学计算与MATLAB 程序 14
1.4.1 二进制数与十进制数 14
1.4.2 实数的浮点表示 16
1.4.3 MATLAB 计算及产生的误差 19
习题1 22
数值实验1 23
第2章 非线性方程求根 25
2.1 二分法 25
2.1.1 基本概念与性质 25
2.1.2 二分法的基本思想 28
2.1.3 误差估计与收敛性分析 29
2.1.4 算法 30
2.1.5 算法的优缺点 30
2.2 迭代法 31
2.2.1 迭代法的基本思想 31
2.2.2 迭代法的几何解释 32
2.2.3 收敛定理 34
2.2.4 误差估计 35
2.2.5 算法 36
2.2.6 局部收敛定理 37
2.2.7 迭代收敛的阶 38
2.2.8 迭代加速 40
2.3 Newton 法 43
2.3.1 算法介绍 43
2.3.2 Newton 法的几何意义 44
2.3.3 算法 44
2.3.4 Newton 法的收敛速率 45
2.3.5 重根情况 46
2.3.6 Newton 下山法 48
2.4 弦截法 49
2.5 科学计算与MATLAB 程序 52
2.5.1 二分法 52
2.5.2 迭代法 55
2.5.3 Newton 法 58
2.5.4 弦截法 59
2.5.5 fzero 函数 60
2.5.6 roots 函数 62
习题2 62
数值实验2 64
第3章 线性方程组的数值解法 67
3.1 消去法 68
3.1.1 顺序Gauss 消去法 68
3.1.2 列主元Gauss 消去法 74
3.1.3 Gauss-Jordan 消去法 77
3.2 矩阵分解 83
3.2.1 LU 分解 83
3.2.2 Cholesky 分解 90
3.3 向量范数与矩阵范数 96
3.3.1 向量范数 96
3.3.2 矩阵范数 99
3.4 方程组的性态 103
3.4.1 关于方程组解的精度 103
3.4.2 矩阵的条件数 104
3.4.3 方程组的性态 104
3.4.4 病态方程组求解 108
3.5 科学计算与MATLAB 程序 108
3.5.1 求解线性方程组 108
3.5.2 矩阵分解 112
3.5.3 向量与矩阵范数、条件数 118
3.5.4 病态方程组求解 119
习题3 123
数值实验3 126
第4章 解线性代数方程组的迭代法 129
4.1 Jacobi 迭代法和Gauss-Seidel 迭代法 129
4.1.1 Jacobi 迭代法 129
4.1.2 Gauss-Seidel 迭代法 132
4.1.3 Jacobi 迭代法和Gauss-Seidel 迭代法的进一步讨论 133
4.2 迭代法的收敛性 135
4.2.1 迭代收敛定理 135
4.2.2 迭代收敛速度 139
4.2.3 对角占优阵 141
4.3 逐次超松弛迭代法 146
4.3.1 逐次超松弛迭代法 146
4.3.2 SOR 迭代法的收敛性 147
4.3.3 逐次超松弛迭代中最优松弛因子的讨论 149
4.4 科学计算与MATLAB 程序 150
4.4.1 有关的MATLAB 函数 150
4.4.2 Jacobi 迭代法 151
4.4.3 Gauss-Seidel 迭代法 153
4.4.4 逐次超松弛迭代法 154
4.4.5 稀疏系数矩阵方程组的计算 155
4.5 求解线性方程组的共轭梯度法 157
4.5.1 共轭梯度法 157
4.5.2 算法 158
4.5.3 共轭梯度法的性质 159
4.5.4 MATLAB 程序 159
习题4 160
数值实验4 162
第5章 非线性方程组数值解与最优化方法 165
5.1 非线性方程组与最优化问题 165
5.1.1 非线性方程组 165
5.1.2 最优化问题 166
5.2 求解非线性方程组的数值方法 167
5.2.1 Newton 法 167
5.2.2 拟Newton 法 170
5.3 最优化问题 172
5.3.1 Newton 法 172
5.3.2 拟Newton 法 174
5.3.3 非线性最小二乘问题 176
5.4 科学计算与MATLAB 程序 177
5.4.1 求解非线性方程组 177
5.4.2 求解无约束优化问题 179
5.4.3 MATLAB 软件中的优化工具箱 183
习题5 187
数值实验5 188
第6章 插值方法 190
6.1 Lagrange 插值 190
6.1.1 Lagrange 插值多项式 190
6.1.2 Lagrange 插值公式的计算 192
6.1.3 插值余项 196
6.2 Newton 插值 199
6.2.1 均差 199
6.2.2 Newton 基本插值公式 202
6.2.3 差分 204
6.2.4 等距节点的Newton 插值公式 207
6.3 Hermite 插值 210
6.3.1 两点二次插值公式 210
6.3.2 两点三次Hermite 插值公式 213
6.3.3 Hermite 插值公式 216
6.3.4 Newton 形式的Hermite 插值公式 217
6.4 分段低次插值 219
6.4.1 高次插值多项式的问题 219
6.4.2 分段线性插值 220
6.4.3 分段三次Hermite 插值 222
6.5 三次样条插值 224
6.5.1 三次样条插值函数 224
6.5.2 三次样条插值函数的求法 225
6.5.3 三次样条插值的收敛性 235
6.6 科学计算与MATLAB 程序 237
6.6.1 自编程序 237
6.6.2 有关插值运算的MATLAB 函数 241
6.6.3 高维插值函数 245
习题6 250
数值实验6 253
第7章 数据拟合与函数逼近 255
7.1 数据拟合及最小二乘原理 255
7.1.1 最小二乘原理与线性拟合 255
7.1.2 多项式拟合 257
7.1.3 可化为线性拟合 259
7.2 用正交多项式作最小二乘拟合 262
7.2.1 基本概念 262
7.2.2 一般形式的最小二乘拟合 263
7.2.3 正交多项式拟合 264
7.3 多变量的数据拟合 267
7.3.1 多变量的数据拟合 267
7.3.2 不相容方程组求解 269
7.4 连续函数的最佳平方逼近 271
7.4.1 最佳平方逼近的概念及计算 272
7.4.2 正交多项式 274
7.4.3 用正交函数作最佳平方逼近 278
7.5 三角多项式与快速Fourier 变换 280
7.5.1 最佳平方逼近 280
7.5.2 离散Fourier 变换 283
7.5.3 快速Fourier 变换 285
7.5.4 用Fourier 变换构造三角插值多项式 287
7.6 科学计算与MATLAB 程序 289
7.6.1 最小二乘拟合多项式 289
7.6.2 数据拟合的MATLAB 实现 291
7.6.3 非线性数据拟合的MATLAB 实现 293
7.6.4 快速Fourier 变换 295
习题7 297
数值实验7 299
第8章 数值积分和数值微分 302
8.1 Newton-Cotes 求积公式 302
8.1.1 数值求积公式的构造及其代数精确度 302
8.1.2 梯形求积公式 304
8.1.3 Simpson 求积公式 306
8.1.4 Cotes 求积公式 308
8.1.5 Newton-Cotes 求积公式 309
8.1.6 数值计算的稳定性问题 311
8.2 复化求积公式 312
8.2.1 复化梯形公式 312
8.2.2 复化Simpson 公式 314
8.2.3 复化Cotes 公式 315
8.3 Romberg 求积法 318
8.3.1 变步长的梯形公式 318
8.3.2 Romberg 求积公式 319
8.3.3 Romberg 求积法 320
8.3.4 Richardson 外推加速法 323
8.4 Gauss 求积公式 325
8.4.1 Gauss 点 326
8.4.2 Gauss-Legendre 公式 327
8.4.3 Gauss-Legendre 公式的使用 329
8.4.4 Gauss 型求积公式的余项及稳定性 330
8.4.5 Lobatto 求积公式 331
8.5 数值微分 332
8.5.1 数值微分的两点公式 333
8.5.2 数值微分的三点公式 333
8.5.3 步长h 的选取 334
8.5.4 用样条函数求导数 335
8.6 科学计算与MATLAB 程序 335
8.6.1 求积公式编程 335
8.6.2 数值积分的MATALB 实现 341
8.6.3 反常积分的数值方法 344
8.6.4 数值微分 347
习题8 351
数值实验8 353
第9章 常微分方程的数值解 355
9.1 Euler 方法 355
9.1.1 Euler 方法 355
9.1.2 梯形公式和改进Euler 方法 360
9.2 Runge-Kutta 方法 363
9.2.1 Runge-Kutta 方法的基本思想 363
9.2.2 二阶Runge-Kutta 法 364
9.2.3 四阶Runge-Kutta 法 366
9.2.4 变步长的Runge-Kutta 法 368
9.3 单步法的收敛性和稳定性 368
9.3.1 单步法的收敛性 368
9.3.2 单步法的稳定性 371
9.3.3 稳定性的意义 374
9.4 线性多步法 375
9.4.1 线性多步法的一般公式 375
9.4.2 Adams 外推公式 377
9.4.3 Adams 内插公式 379
9.4.4 预报{ 校正公式 380
9.5 常微分方程组和高阶微分方程的数值方法 381
9.5.1 常微分方程组 381
9.5.2 高阶方程 382
9.5.3 刚性方程组 383
9.6 科学计算与MATLAB 程序 384
9.6.1 自编程序 384
9.6.2 算法的稳定性 387
9.6.3 初值问题计算的MATLAB 实现 388
习题9 392
数值实验9 394
第10章 矩阵特征值与特征向量的计算 397
10.1 幂法和反幂法 397
10.1.1 幂法 397
10.1.2 加速方法 401
10.1.3 反幂法 402
10.2 Jacobi 方法 405
10.2.1 Jacobi 方法的基本思想 405
10.2.2 Jacobi 方法 406
10.2.3 算法的收敛性质 407
10.2.4 有关公式的计算与简化 408
10.2.5 Jacobi 过关法 411
10.3 QR 方法 412
10.3.1 QR 方法 412
10.3.2 Householder 矩阵 413
10.3.3 上Hessenberg 阵 414
10.3.4 矩阵的QR 分解 416
10.4 科学计算与MATLAB 程序 418
10.4.1 自编程序 418
10.4.2 求矩阵特征值的MATLAB 实现 422
习题10 424
数值实验10 425
答案 426
参考文献 445