图书简介:
第1章 绪论 1
1.1 计算方法研究的对象和特点 1
1.2 计算方法的误差 4
1.2.1 误差的来源与分类 4
1.2.2 误差与有效数字 6
1.2.3 有效数字与相对误差限的关系 8
1.2.4 数值运算的误差估计 9
1.3 避免误差需要遵循的原则与注意的问题 12
1.3.1 遵循的原则 12
1.3.2 注意的问题 13
小结 15
习题 15
第2章 非线性方程的数值解法 16
2.1 根的隔离与二分法 16
2.1.1 根的隔离 16
2.1.2 二分法 18
2.2 迭代法及其收敛性 20
2.2.1 不动点迭代法基本概念 20
2.2.2 不动点的存在性与收敛性 22
2.3 迭代收敛的加速方法 28
2.3.1 迭代的收敛速度 28
2.3.2 收敛过程的加速 31
2.4 牛顿迭代法 35
2.4.1 牛顿法的构造及牛顿迭代公式 35
2.4.2 牛顿法的收敛性和收敛速度 36
2.4.3 初值的选取 40
2.4.4 牛顿下山法 41
2.5 近似牛顿法 43
2.5.1 简化牛顿法 43
2.5.2 弦截法 43
2.5.3 快速弦截法 45
2.5.4 抛物线法 48
小结 51
习题 52
第3章 线性方程组的数值解法 53
3.1 解线性方程组的直接法 54
3.1.1 高斯消去法 54
3.1.2 列主元消去法 56
3.1.3 矩阵的三角分解 58
3.1.4 追赶法 64
3.1.5 平方根法 68
3.1.6 向量和矩阵的范数 71
3.2 解线性方程组的迭代法 80
3.3 简单迭代法 83
小结 90
习题 91
第4章 插值法与曲线拟合 94
4.1 插值多项式的存在唯一性 94
4.2 拉格朗日插值 95
4.2.1 线性插值 95
4.2.2 抛物插值 97
4.2.3 拉格朗日插值多项式 98
4.2.4 插值余项、误差估计 99
4.3 牛顿插值 103
4.3.1 插值基函数 103
4.3.2 差商的概念 104
4.3.3 差商的性质 105
4.3.4 牛顿插值公式 107
4.4 埃尔米特插值 109
4.5 分段插值 115
4.5.1 高次插值的龙格(Runge)现象 115
4.5.2 分段插值的概念 117
4.5.3 分段线性插值 117
4.5.4 分段三次埃尔米特插值 119
4.6 三次样条插值 122
4.7 曲线拟合的最小二乘法 127
4.7.1 直线拟合 127
4.7.2 多项式拟合 128
4.7.3 其他函数曲线拟合 131
小结 135
习题 135
第5章 数值积分与数值微分 139
5.1 数值积分 139
5.1.1 机械求积公式和代数精度 140
5.1.2 求积公式的构造方法 145
5.1.3 牛顿-科茨求积公式 149
5.1.4 复化求积法 154
5.1.5 龙贝格(Romberg)求积公式及算法 157
5.2 数值微分 163
5.2.1 差商型数值微分 163
5.2.2 插值型数值微分 164
5.2.3 样条插值型数值微分 166
5.2.4 理查森外推型数值微分 167
小结 169
习题 170
第6章 常微分方程数值解法 172
6.1 欧拉法、隐式欧拉法和二步欧拉法 173
6.1.1 欧拉法 173
6.1.2 隐式欧拉法和二步欧拉法 174
6.1.3 局部截断误差与精度 176
6.2 梯形法和改进的欧拉法 177
6.2.1 梯形法 178
6.2.2 改进的欧拉法 179
6.3 龙格-库塔法 184
6.3.1 龙格-库塔法的基本思想 184
6.3.2 二阶龙格-库塔法 185
6.3.3 高阶龙格-库塔法 187
6.3.4 变步长龙格-库塔法 191
6.4 单步法的收敛性与稳定性 192
6.4.1 收敛性 193
6.4.2 稳定性 196
6.5 一阶方程组及高阶方程 198
6.5.1 一阶方程组 198
6.5.2 高阶方程的初值问题 200
6.6 边值问题的数值解法 202
小结 205
习题 206
第7章 矩阵特征值的计算 208
7.1 乘幂法与反幂法 208
7.1.1 计算模最大特征值的乘幂法 208
7.1.2 算法实现 210
7.1.3 反幂法 211
7.2 QR方法 212
7.2.1 镜像矩阵与QR分解 212
7.2.2 QR方法实现 215
小结 217
实验 求矩阵特征值的乘幂法与反幂法 217
习题 217
第8章 智能计算基本算法 219
8.1 遗传算法 220
8.1.1 遗传算法概述 220
8.1.2 遗传算法原理 221
8.1.3 遗传算法实现 223
8.1.4 遗传算法应用 225
8.2 蚁群算法 227
8.2.1 蚁群算法原理 228
8.2.2 蚁群算法的数学模型 229
8.2.3 蚁群算法实现 231
8.3 粒子群算法 233
8.3.1 粒子群算法概述 233
8.3.2 基本粒子群算法 234
8.3.3 改进粒子群算法 235
8.3.4 非线性方程(组)求根的粒子群算法 236
8.4 人工神经网络 238
8.4.1 人工神经元 238
8.4.2 激活函数 239
8.4.3 损失函数 241
8.4.4 基于梯度下降的优化算法 242
8.4.5 前馈神经网络 244
8.4.6 误差反向传播算法 245
小结 249
习题 249
第9章 数值计算的MATLAB实践 251
9.1 MATLAB基础 251
9.1.1 运算符 251
9.1.2 函数命令 252
9.1.3 矩阵与数组运算 253
9.1.4 绘图 254
9.1.5 程序设计基础 256
9.2 非线性方程组求根问题的MATLAB实现 257
9.2.1 MATLAB中与方程组有关的命令 257
9.2.2 求方程实根的实现 258
9.2.3 实际问题的求解 259
9.3 线性方程组求根问题的MATLAB实现 259
9.3.1 MATLAB中与方程组有关的命令 259
9.3.2 Gauss消去法的源程序 259
9.3.3 Jacobi迭代法的源程序 260
9.3.4 Gauss-Seidel迭代法的源程序 261
9.4 插值问题的MATLAB实现 262
9.4.1 MATLAB自带的插值命令 262
9.4.2 拉格朗日插值和牛顿插值 265
9.4.3 拟合与逼近的MATLAB实现 266
9.5 数值积分的MATLAB实现 268
9.5.1 数值积分命令 268
9.5.2 实际问题的求解 269
9.6 常微分方程问题的MATLAB实现 270
9.6.1 常微分方程数值解法的源程序 270
9.6.2 实际问题的求解 271
9.7 矩阵特征值问题的MATLAB实现 272
9.8 神经网络的MATLAB实现 272
9.8.1 数据预处理 272
9.8.2 MATLAB实现神经网络常用命令 274
9.8.3 BP网络实验 276
小结 277
习题 278
参考文献 280
展开
网络化、数据化、智能化技术在当前数字时代得到飞速发展,计算机作为基本的载体,其技术理论的研究和应用直接影响当前科学技术发展的速度和质量。熟练地运用计算机进行科学计算已成为科技工作者不可缺少的技能。应用计算机求解各类问题更成为各行各业知识更新的必要环节,培养学生和应用者的科学计算能力,计算方法课程具有不可替代的作用。
计算方法是数学与计算机之间的关键桥梁。计算方法知识领域起源于科学计算,其兴起是20世纪最重要的科学进步之一。随着计算机和计算方法的飞速发展,科学计算已与科学理论和科学实验鼎立为现代科学的三大组成部分。在各种科学和工程领域中逐步形成了计算性科学分支,如计算物理、计算力学、计算化学、计算地震学等。计算在生命科学、医学、系统科学、经济学以及社会科学中所起的作用也日益增大。在气象、勘探、航空航天、交通运输、机械制造、水利建筑等许多重要工程领域中,计算已经成为不可缺少的手段。这些计算性的科学和工程领域,又以计算方法作为其共性基础和联系纽带,使得计算数学这一古老的数学科目成为现代数学中一个生机勃勃的分支,是数学科学中最直接与生活、社会技术发展相联系的部分,是从理论到实际的桥梁。计算方法也称为数值计算或数值分析,主要任务是构造求解科学和工程问题的方法,研究算法的数学机理,在计算机上进行设计和计算实验,分析这些数值实验的误差,并与相应的理论和可能的实验对比印证。这就是计算方法研究的主要对象和任务。
计算方法在推动大数据、人工智能时代基础算法实现上作用突出。随着信息与网络技术的发展,当前计算方法的研究目标与任务也在发生变化,原来主要面向科学计算的任务要求进一步提高,同时,随着大数据与人工智能技术急速发展,计算方法直接用于各类工程与应用领域。本书应用案例的选取聚焦当前计算机学科前沿知识,以期推动学生掌握最新的算法思想与实践过程。
计算方法对培养计算机类专业人才的工程问题分析与建模能力非常重要。计算机类专业人才的培养要求学生具备数学、自然科学、工程基础和计算机专业知识,并能将相应知识用于解决计算机复杂工程问题,并能够应用数学、自然科学、工程科学、计算机科学的基本原理,识别、表达以及通过文献研究分析计算机复杂工程问题,以获得有效结论。本书每章的知识点指出了工程应用背景,同时也指出了相应的工程问题与难点。读者通过学习,可以直接设计、分析与优化这些工程问题。因此,本书在培养计算类专业人才方面能够起到较好的支撑作用。
本书系统地介绍了计算方法及有关的基础理论。内容涉及计算方法的数学基础,计算方法在工程、科学、数学问题以及计算机学科前沿领域中的应用,主要算法的MATLAB 程序等。本书涵盖了经典数值分析内容,包括误差分析、非线性方程的数值解法、线性方程组的数值解法、插值法与曲线拟合、数值积分与数值微分、常微分方程数值解法、矩阵特征值的计算、智能计算基本算法等。本书讲解深入浅出,聚焦计算方法的思想和原理,尽可能避免介绍过深的数学理论和过于繁杂的算法细节,易于教学。
本书具有如下特点:
(1)相比第1版,本书的立足点与编写角度从原来的科学数值计算扩展到当前的大数据分析与人工智能算法,重点讲述数值分析中最核心、最基础的理论与方法,它们是研究各种复杂的数值计算问题的基础和工具,也是当前计算机领域中数据分析的基础,有利于培养学生适应新的计算时代要求。
(2)本书在第1版的基础上,针对每章的知识点,增加相关新内容,并指出其与当前计算机前沿领域的联系,涉及多媒体数据分析、密码算法、人工智能深度网络算法、社交网络等领域,以期激发学生的学习兴趣。本书也可以作为计算机大类专业的科研与实践引导教材。
(3)为适应当前大数据时代数据分析需求,本书增加了智能计算基本算法一章,介绍了智能计算中的遗传算法、蚁群算法、粒子群算法以及人工神经网络等。
(4)考虑到计算领域数据分析的需求与特点,本书增加了矩阵特征值的计算一章。当前很多计算机领域算法都涉及矩阵特征值计算,学习相关内容有利于培养学生计算机应用与分析能力。
(5)修改第1版BASIC语言与FORTRAN语言实践上机代码,采用当前流行的数值分析软件MATLAB进行编程,实现的算法程序都可以直接应用于实际计算。
(6)调整章节逻辑关系。在实际教学中,掌握方程求根方法更有利于理解数据分析中的优化过程,因此本书将非线性方程的数值解法与线性方程组的数值解法编排在第2章与第3章。
(7)本书每章都给出了相应的计算实例,不仅能帮助学生理解程序中包含的数值分析理论知识,还对培养学生处理数值计算问题的能力大有裨益。
(8)本书每章都配备了一定数量的习题,习题分为理论分析题和上机实验题,以加深学生对所学知识的理解。
除上述改动之外,本次修订还对部分章节标题与逻辑关系做了调整,同时对全文内容做了校对与纠错。本书包含相关配套资源,读者可登录华信教育资源网(www.hxedu.com.cn)注册后免费下载。
本书的编写得到了华中科技大学网络空间安全学院与计算机学院的大力支持,很多老师给予了作者关心和指导。韩兰胜教授对本书进行了审核把关,陈凯副教授、许贵平副教授、金燕副教授、黄志老师在校对与纠错方面提出了宝贵意见,范元海等多位研究生在稿件整理方面提供了帮助,在此,谨致以诚挚的谢意。本书第1版在使用中收到了很多专家、高校教师、学生反馈的意见和建议,这些意见和建议对本书再版修订帮助甚大,也在此对他们表示谢意!同时,希望有更多读者对本书提出意见和建议,这将有利于我们在今后继续更新、完善本书。
作 者
展开