第1章 算法及其设计基础 1
1.1 引言 1
1.2 算法的概念 1
1.3 算法的特性 1
1.4 算法的结构 2
1.5 算法的描述 3
1.5.1 自然语言方式 3
1.5.2 流程图方式 4
1.5.3 盒图方式 6
1.5.4 PAD图方式 8
1.5.5 伪代码方式 9
1.5.6 计算机语言方式 11
1.6 关于计算机算法的评价 13
1.7 常用算法设计及其实现 14
1.7.1 排序算法及其实现 14
1.7.2 查找算法及其实现 16
1.7.3 穷举算法及其实现 17
本章小结 18
习题 18
第2章 误差引论 20
2.1 引论 20
2.2 计算机数值计算方法 20
2.3 误差及有关概念 21
2.3.1 误差及其来源 21
2.3.2 误差限 22
2.3.3 绝对误差和相对误差 23
2.3.4 有效数字 23
2.3.5 约束误差 24
2.4 数值计算中应注意的一些原则 24
2.5 不同字节的数在计算机中的表示形式 26
2.5.1 2个字节的整数的最小值 26
2.5.2 2个字节的整数的最大值 27
2.5.3 4个字节的整数的最小值 28
2.5.4 4个字节的整数的最大值 29
2.5.5 4个字节的实数的正的最大值 30
2.5.6 4个字节的实数的正的最小值 31
2.5.7 8个字节的实数的正的最大值 32
2.5.8 8个字节的实数的正的最小值 34
2.5.9 实数值的分解 35
2.6 数值计算中常见误差实例 36
2.6.1 对同一个函数,计算式(计算顺序)不同产生的误差 36
2.6.2 使用单精度和双精度计算产生的误差 38
2.6.3 使用的位数不同所产生的计算误差 39
2.6.4 加法运算顺序的不同所产生的计算误差 39
本章小结 40
习题 40
第3章 一元非线性方程的数值解法 42
3.1 引言 42
3.2 二分法 43
3.2.1 二分法及其基本思想 43
3.2.2 实现二分法的基本步骤 43
3.3 迭代法 45
3.3.1 迭代法及其基本思想 45
3.3.2 牛顿迭代法及其基本思想 46
3.3.3 实现牛顿迭代法的基本步骤 46
3.3.4 弦截法及其基本思想 47
3.3.5 实现弦截法的基本步骤 48
3.3.6 埃特金迭代法及其基本思想 49
3.3.7 实现埃特金迭代法的基本步骤 50
本章小结 51
习题 52
第4章 线性方程组的数值解法 53
4.1 引言 53
4.2 高斯消去法 54
4.2.1 高斯消去法的基本思想 54
4.2.2 实现高斯消去法的基本步骤 56
4.3 列主元高斯消去法 59
4.3.1 列主元高斯消去法的基本思想 59
4.3.2 实现列主元高斯消去法的基本步骤 59
4.4 约当消去法 62
4.4.1 约当消去法的基本思想 62
4.4.2 实现约当消去法的基本步骤 63
4.5 三角分解法 66
4.5.1 三角分解法的基本思想 66
4.5.2 直接三角分解法 66
4.5.3 实现柯朗分解法的基本步骤 67
4.5.4 乔里斯基分解法 70
4.5.5 实现乔里斯基分解法的基本步骤 70
4.5.6 追赶法 73
4.5.7 实现追赶法的基本步骤 73
4.5.8 对称高斯法 76
4.5.9 实现对称高斯法的基本步骤 76
4.6 线性方程组的迭代解法 79
4.6.1 迭代法的基本思想 79
4.6.2 雅可比迭代法 79
4.6.3 实现雅可比迭代法的基本步骤 79
4.6.4 高斯-赛德尔迭代法 82
4.6.5 实现高斯-赛德尔迭代法的基本步骤 82
4.6.6 超松弛迭代法 84
4.6.7 实现超松弛迭代法的基本步骤 85
本章小结 88
习题 89
第5章 数值积分 93
5.1 引言 93
5.2 梯形积分法 93
5.2.1 梯形积分法的基本思想 93
5.2.2 梯形求积公式 93
5.2.3 实现梯形积分法的基本步骤 94
5.3 辛普森积分法 95
5.3.1 辛普森积分法的基本思想 95
5.3.2 辛普森求积公式 96
5.3.3 实现辛普森积分法的基本步骤 96
5.4 变步长求积分法 98
5.4.1 变步长求积分法的基本思想 98
5.4.2 变步长梯形求积分法 98
5.4.3 实现变步长梯形积分法的基本步骤 99
5.4.4 变步长辛普森求积分法 100
5.4.5 实现变步长辛普森积分法的基本步骤 101
5.5 牛顿-科茨积分法 103
5.5.1 牛顿-科茨积分法的基本思想 103
5.5.2 牛顿-科茨求积公式 103
5.6 高斯积分法 106
5.6.1 高斯积分法的基本思想 106
5.6.2 勒让德-高斯求积公式 106
5.6.3 埃尔米特-高斯求积公式 111
5.6.4 拉盖尔-高斯求积公式 113
5.7 龙贝格积分法 115
5.7.1 龙贝格积分法的基本思想 115
5.7.2 实现龙贝格积分法的基本步骤 115
5.8 高振荡函数的积分法 118
5.8.1 高振荡函数的积分法的基本思想 118
5.8.2 分部积分公式 119
本章小结 121
习题 121
第6章 矩阵的特征值及特征向量的计算 123
6.1 引言 123
6.2 幂法和反幂法 124
6.2.1 幂法和反幂法的基本思想 124
6.2.2 实现幂法和反幂法的基本步骤 124
6.3 雅可比法 130
6.3.1 雅可比法的基本思想 130
6.3.2 实现雅可比法的基本步骤 130
6.4 雅可比过关法 134
6.4.1 雅可比过关法的基本思想 134
6.4.2 实现雅可比过关法的基本步骤 134
本章小结 138
习题 138
第7章 插值法 141
7.1 引言 141
7.2 拉格朗日插值法 142
7.2.1 拉格朗日插值法的基本思想 142
7.2.2 实现拉格朗日插值法的基本步骤 143
7.3 牛顿插值法 146
7.3.1 牛顿插值法的基本思想 146
7.3.2 实现牛顿插值法的基本步骤 146
本章小结 148
习题 148
第8章 常微分方程数值解法 150
8.1 引言 150
8.2 欧拉法 151
8.2.1 欧拉法的基本思想 151
8.2.2 实现欧拉法的基本步骤 151
8.3 改进的欧拉法 153
8.3.1 改进的欧拉法的基本思想 153
8.3.2 实现改进的欧拉法的基本步骤 153
8.4 龙格-库塔法 156
8.4.1 龙格-库塔法的基本思想 156
8.4.2 实现标准四阶龙格-库塔法的基本步骤 156
8.5 亚当斯法 158
8.5.1 当斯法的基本思想 158
8.5.2 实现亚当斯法的基本步骤 159
本章小结 161
习题 162
第9章 计算实习 164
9.1 常用算法及数值计算 164
9.1.1 实习目的 164
9.1.2 实习要求 164
9.1.3 实习设备 165
9.1.4 实习内容 165
9.2 一元非线性方程的数值解法 166
9.2.1 实习目的 166
9.2.2 实习要求 167
9.2.3 实习设备 167
9.2.4 实习内容 167
9.3 线性方程组的数值解法 168
9.3.1 实习目的 168
9.3.2 实习要求 168
9.3.3 实习设备 168
9.3.4 实习内容 168
9.4 数值积分 170
9.4.1 实习目的 170
9.4.2 实习要求 171
9.4.3 实习设备 171
9.4.4 实习内容 171
9.5 矩阵的特征值及特征向量的计算法 172
9.5.1 实习目的 172
9.5.2 实习要求 172
9.5.3 实习设备 172
9.5.4 实习内容 172
9.6 插值法 173
9.6.1 实习目的 173
9.6.2 实习要求 173
9.6.3 实习设备 173
9.6.4 实习内容 174
9.7 常微分方程数值解法 174
9.7.1 实习目的 174
9.7.2 实习要求 175
9.7.3 实习设备 175
9.7.4 实习内容 175
附录1 C语言运算符的优先级与结合性以及常用数学函数 176
附录2 Turbo C编译错误信息 178
附录3 常用计算机数值计算英汉词汇对照 181
附录4 求两个分数的和、差、积、商、约分及通分 184
附录5 多项式的计算 187
附录6 矩阵运算 191
附录7 复数运算 201
附录8 实对称三对角阵的全部特征值与特征向量的计算 210
附录9 多重积分的计算 215
附录10 曲线拟合的最小二乘法的计算 219
参考文献 221