第1章 引论 1
1.1数值计算方法的对象、特点和意义 1
1.2误差分析 2
1.3数值计算中应注意的问题 6
习题1 10
第2章MATLAB在数值计算中的应用 11
2.1 MATLAB语言基础知识 11
2.1.1 MATLAB文件类型 11
2.1.2 MATLAB的矩阵、变量与表达式 12
2.2基本绘图方法 13
2.2.1直角坐标中的二维曲线 13
2.3 MATLAB基本运算 16
2.3.1关系运算 17
2.3.2 逻辑运算 17
2.3.3特殊运算符 17
2.3.4矩阵运算 18
2.4 MATLAB控制语句 18
2.5自定义函数 20
2.6数值计算中的常用库函数 20
2.6.1向量与矩阵常用库函数 20
2.6.2插值函数 21
2.6.3多项式计算 23
2.6.4曲线拟合 24
2.6.5数值微分与差分diff 25
2.6.6数值积分函数quad和quad8 26
2.6.7常微分方程求解函数ode23和ode45 26
2.6.8非线性方程求解函数 28
第3章 插值与逼近 30
3.1问题背景:人口增长问题 30
3.2拉格朗日插值(Lagrange interpolation) 31
3.2.1线性插值 31
3.2.2抛物插值(也称二次插值) 32
3.2.3 n次插值 33
3.2.4插值余项 34
3.3牛顿插值(Newton interpolation) 37
3.3.1具有继承性的插值公式 38
3.3.2差商及其性质 39
3.3.3差商形式的插值公式 40
3.3.4 差分形式的插值公式 41
3.4埃尔米特插值(Hermite interpolation) 43
3.4.1二次插值 43
3.4.2三次插值 44
3.4.3 2n + 1次插值 45
3.4.4 Hermite插值余项定理 47
3.5三次样条插值 50
3.5.1样条函数的概念 50
3.5.2三次样条插值 51
3.5.3三次样条插值函数的求法 52
3.6曲线拟合的最小二乘法 59
3.6.1直线拟合 59
3.6.2多项式拟合 62
3.7多项式曲线拟合的递归最小二乘法 64
习题3 68
第4章 数值积分与数值微分 70
4.1问题背景:PID调节器 70
4.1.1 PID控制规律(比例、积分、微分)的基本形式 70
4.1.2 PID控制规律的物理意义 71
4.2机械求积 72
4.2.1数值积分的基本思想 72
4.2.2求积公式和它的代数精度 73
4.2.3插值型的求积公式 74
4.3牛顿-柯特斯(Newton-Cotes)求积公式 76
4.3.1公式的推导 76
4.3.2 n低阶求积公式的代数精度 77
4.4龙贝格(Romberg)算法 80
4.4.1梯形法的递推公式 81
4.4.2算法步骤 81
4.4.3 MATLAB源程序 82
4.4.4龙贝格算法 84
4.5高斯(Gauss)求积算法 88
4.5.1高精度的求积公式 88
4.5.2高斯公式的基本特点 90
4.5.3勒让德多项式 91
4.5.4高斯求积公式的余项 95
4.5.5高斯求积公式的稳定性与收敛性 96
4.6数值积分的神经网络算法 97
4.6.1余弦基函数神经网络模型 97
4.6.2数值积分实例 98
4.7数值微分 101
4.7.1用插值多项式求数值微分 101
4.7.2二阶数值微分公式 104
4.7.3用三次样条函数求数值微分 104
习题4 105
第5章 非线性方程的数值解法 110
5.1问题背景:人口增长问题 110
5.2二分法(The Bisection Method) 112
5.2.1二分法基本思想 112
5.2.2二分法算法的源程序(bisection.m) 114
5.2.3总结 114
5.3迭代法 115
5.3.1迭代法的基本思路 116
5.3.2线性迭代函数的启示 117
5.3.3压缩映像原理 117
5.3.4定点迭代法源程序(fixedp.m) 118
5.3.5迭代过程的收敛速度 120
5.4迭代过程的加速收敛方法 121
5.4.1迭代公式的加工 121
5.4.2埃特金算法 123
5.4.3埃特金加速算法的源程序(aitken.m) 123
5.5牛顿迭代法 124
5.5.1牛顿迭代公式的导出 124
5.5.2牛顿法的收敛性 125
5.5.3牛顿迭代法源程序(newtoniter.m) 126
5.5.4牛顿下山法 127
5.6弦截法 128
5.6.1弦截法 128
5.6.2弦截法的收敛性 129
5.7求解非线性方程的神经网络算法 131
5.7.1求解一元非线性方程的神经网络算法 132
5.7.2神经网络算法收敛性研究 132
5.7.3神经网络算法步骤 134
5.7.4算例 134
5.7.5算法改进 135
5.8求解非线性方程组的神经网络算法 139
5.8.1求解非线性方程组的神经网络模型 139
5.8.2神经网络算法收敛性研究 141
5.8.3神经网络算法步骤 142
5.8.4数值试验 143
5.9求解非线性方程的其他算法 148
5.10求解非线性方程或代数方程重根的方法 149
5.10.1算法描述 149
5.10.2数值实例 150
习题5 152
第6章 线性方程组的数值解法 154
6.1问题背景:电阻网络 154
6.1.1直接法 155
6.1.2迭代法 155
6.2高斯(Gauss)消元法 156
6.2.1高斯消去法的计算过程 156
6.2.2高斯消去法应注意的问题 157
6.3三角分解法 158
6.3.1矩阵A=[aijn×n的Crout分解 159
6.3.2矩阵A=[aij]n×n的Cholesky分解(LL T分解) 163
6.3.3解三对角线性方程组的三对角算法(追赶法) 166
6.4向量和矩阵的范数 167
6.4.1向量的范数 167
6.4.2向量范数的定义 167
6.4.3矩阵的范数 169
6.4.4谱半径、谱范数与方阵的F-范数 170
6.4.5方程组的状态与条件数 170
6.4.6向量、矩阵的范数和条件数的计算 174
6.5矩阵特征值和特征向量 175
6.5.1雅可比(Jacobi)方法 176
6.5.2 Q R方法 177
6.5.3计算矩阵特征值和特征向量的库函数 177
6.5.4计算矩阵行列式值的库函数:det(·) 177
6.6迭代法 178
6.6.1雅可比(Jacobi)迭代法 178
6.6.2赛德尔迭代法 180
6.6.3关于Jacobi迭代法与G-S迭代法收敛性判据 181
6.6.4逐次超松弛迭代法(SOR法) 182
6.7共轭斜量(梯度)法 184
6.7.1改善矩阵A条件数的方法 185
6.7.2条件预优共轭梯度算法 186
6.7.3残差校正方法 188
6.8基于梯度下降法的神经网络算法 189
6.8.1基于梯度下降法(Gradient-descent method)的神经网络算法(NN-GDM) 189
6.8.2应用实例 193
6.9基于递推最小二乘算法的神经网络计算方法(NN-RLS) 199
习题6 204
第7章 常微分方程的初值问题的数值解法 206
7.1问题背景:RLC电路网络 206
7.2欧拉方法 207
7.3改进的欧拉方法 210
7.3.1梯形公式 210
7.3.2改进的欧拉公式 211
7.4高阶泰勒方法(Higher-order Taylor Methods) 213
7.5龙格-库塔方法(Runge-Kutta Methods) 216
7.5.1龙格-库塔方法的设计思想 217
7.5.2二阶龙格-库塔方法 217
7.5.3三阶龙格-库塔方法 219
7.5.4四阶龙格-库塔方法 219
7.6亚当斯方法(Adams Method) 221
7.6.1亚当斯格式 221
7.6.2亚当斯预报-校正系统 223
7.6.3亚当斯预报-校正系统误差分析 224
7.7收敛性与稳定性 226
7.7.1收敛性问题 226
7.7.2单步法的收敛性 226
7.7.3单步法的稳定性问题 228
7.8一阶常微分方程组和高阶微分方程求解 228
7.8.1一阶方程组 228
7.8.2高阶常微分方程的初值问题 229
7.9高阶微分方程边值问题求解 231
7.10求解常微分方程初值问题的神经网络算法 232
7.10.1解微分方程初值问题的神经网络算法描述 232
7.10.2解微分方程初值问题的神经网络算法步骤 239
7.10.3仿真实例 240
习题7 248
习题答案 250
参考文献 254