新書推薦:
《
甲骨文丛书·波斯的中古时代(1040-1797年)
》
售價:HK$
88.5
《
以爱为名的支配
》
售價:HK$
62.7
《
台风天(大吴作品,每一种生活都有被看见的意义)
》
售價:HK$
53.8
《
打好你手里的牌(斯多葛主义+现代认知疗法,提升当代人的心理韧性!)
》
售價:HK$
66.1
《
新时代硬道理 广东寻路高质量发展
》
售價:HK$
77.3
《
6S精益管理实战(精装版)
》
售價:HK$
100.6
《
异域回声——晚近海外汉学之文史互动研究
》
售價:HK$
109.8
《
世界文明中的作物迁徙:聚焦亚洲、中东和南美洲被忽视的本土农业文明
》
售價:HK$
99.7
|
內容簡介: |
本书面向应用,介绍各种数值计算方法的基本原理及Python程序实现。全书共分十五章,主要内容包括绪论、Python基础、非线性代数方程的求根、插值、数值微分与数值积分、线性及非线性方程组求解、样条函数、最小二乘法与回归分析、常微分及偏微分方程的求解、过程最优化、Monte Carlo模拟、智能优化算法。本书可作为工科类院校本科生和研究生学习化工数值计算或计算方法的教材,也可供从事工程类相关专业研究的科技人员参考。
|
關於作者: |
姚传义,厦门大学化学化工学院副教授。主要研究领域为模拟移动床分离、生化反应工程及机器学习在化工中的应用,研究兴趣集中在化工与生化过程的建模、模拟及优化。主持及参加国家科研课题十余项,在AIChE J、Chem Eng J、Biotechnol Bioeng、Comput Chem Eng等杂志发表研究论文20余篇。在教学工作中,长期讲授生化反应工程、数值分析等课程,具有丰富的教学经验。
|
目錄:
|
第一章绪论 1
1.1数值计算在工程科学中的重要性 1
1.2数值计算方法 1
1.3程序设计 2
1.4误差的来源、表示及传递 4
1.4.1误差的来源和分类 4
1.4.2误差的表示 4
1.4.3误差的传递 5
习题 6
第二章Python 基础 8
2.1概述 8
2.1.1为什么选择Python 8
2.1.2Python 的安装 8
2.1.3如何运行程序 8
2.2核心数据类型及操作 11
2.2.1数字(Numbers) 12
2.2.2字符串(Strings) 15
2.2.3列表(Lists) 23
2.2.4字典(Dictionaries) 26
2.2.5元组(Tuples) 29
2.2.6文件(Files) 30
2.2.7集合(Sets) 31
2.2.8其他核心类型 33
2.2.9动态类型简介 33
2.3Python 语句 35
2.3.1赋值语句 37
2.3.2函数调用及打印语句 41
2.3.3if 语句 42
2.3.4while 循环 46
2.3.5for 循环 47
2.4函数 53
2.4.1作用域 54
2.4.2参数 56
2.4.3递归函数 61
2.4.4匿名函数lambda 63
2.4.5函数的其他主题 64
2.5异常处理 67
2.5.1默认异常处理器 68
2.5.2try 语句捕捉异常 68
2.5.3with/as 环境管理协议 70
2.6常用模块简介 70
2.6.1numpy 模块 71
2.6.2scipy 模块 77
2.6.3matplotlib 模块 77
习题 79
第三章方程(组)的求解 81
3.1非线性代数方程的求根 81
3.1.1二分法 81
3.1.2迭代法 84
3.1.3牛顿法 86
3.1.4弦截法(割线法) 88
3.1.5利用scipy 模块求非线性方程的根 90
3.2线性方程组 93
3.2.1解三对角线方程组的Thomas算法 93
3.2.2迭代法 96
3.3非线性方程组 102
3.3.1迭代法 102
3.3.2牛顿-拉弗森法 107
3.3.3利用scipy 模块求解非线性方程组 109
习题 113
第四章插值与回归 115
4.1代数多项式插值 115
4.1.1拉格朗日插值 115
4.1.2牛顿插值 118
4.1.3差分与等距节点插值公式 121
4.1.4分段插值法 122
4.1.5利用scipy 模块进行拉格朗日插值 123
4.2三次样条函数插值 123
4.2.1三次样条函数的推导 124
4.2.2三次样条函数插值的Python实现 126
4.2.3利用scipy 模块进行样条函数插值 129
4.3回归 132
4.3.1一元线性回归 132
4.3.2多元线性回归 133
4.3.3梯度下降算法 136
4.3.4利用scipy 模块解决回归问题 140
习题 146
第五章数值微分与数值积分 148
5.1数值微分 148
5.1.1利用差分近似求微分 148
5.1.2利用三次样条函数求微分 151
5.2理查森外推 151
5.3数值积分 153
5.3.1下和与上和 153
5.3.2梯形法则 154
5.3.3龙贝格算法 157
5.3.4辛普森法则 159
5.3.5自适应辛普森法 160
5.3.6利用numpy 及scipy 模块进行数值积分 163
习题 167
第六章常微分方程 169
6.1常微分方程初值问题的数值解 169
6.1.1欧拉法 169
6.1.2改良欧拉法 170
6.1.3龙格-库塔法 172
6.2常微分方程组初值问题的数值解 173
6.3高阶常微分方程初值问题的数值解 177
6.4常微分方程边值问题的数值解 178
6.4.1打靶法 178
6.4.2有限差分法 181
6.5利用scipy 模块求解常微分方程 183
习题 189
第七章偏微分方程 192
7.1抛物型方程 192
7.1.1显式法 192
7.1.2隐式法 194
7.1.3克兰克-尼科尔森六点格式 195
7.2双曲型方程 197
7.3椭圆型方程 200
7.4直线法 204
7.4.1直线法求解抛物型方程 204
7.4.2直线法求解双曲型方程 206
7.5紧致差分算法 207
习题 211
第八章过程最优化 212
8.1单变量函数的最优化 212
8.1.1搜索区间的确定 212
8.1.2黄金分割法 214
8.1.3插值法 218
8.2无约束多变量函数的优化 220
8.3有约束多变量函数的优化 224
8.3.1复合形法 225
8.3.2惩罚函数法 230
8.4利用scipy 模块进行函数优化 230
习题 234
第九章Monte Carlo 模拟 236
9.1随机数 236
9.2用Monte Carlo 法求数值积分 244
9.3Monte Carlo 模拟实例 246
9.4Monte Carlo 方法在高分子研究中的应用 248
9.4.1共聚反应的模拟 248
9.4.2邻基反应的模拟 251
9.4.3降解反应的模拟 252
习题 253
第十章智能优化算法 254
10.1遗传算法 255
10.1.1编码方法 255
10.1.2适应度评估 257
10.1.3选择 258
10.1.4交叉 259
10.1.5变异 260
10.2粒子群优化算法 263
10.3利用geatpy 模块进行遗传算法优化 266
10.4利用scikit-opt 模块实现智能优化算法 269
10.4.1scikit-opt 模块中的遗传算法 269
10.4.2scikit-opt 模块中的粒子群算法 270
习题 271
参考文献 272
|
內容試閱:
|
近年来,计算机的广泛应用使计算数学有了很大的发展。计算数学的理论与方法已影响到许多学科,并在生产、管理、教学以及科学研究领域得到了广泛应用,科学计算已经与科学实验、理论研究一起,成为人类认识自然的基本途径。在解决错综复杂的实际问题时,人们通常根据理论与实验结果建立数学模型,而大部分数学模型都是难以得到解析解的,此时需要借助计算机的强大计算功能采用数值法求解。在工程领域,数值计算广泛应用于工业设计、过程开发、最优化分析等领域。因此,掌握计算方法的基本知识,熟练运用计算方法解决实际应用中的数学问题,已经成为理工科大学生的技能。袁渭康院士也曾强调:工科学生的计算能力是其创新能力的重要组成部分。
在数值计算的教学中,一直存在两种不同的观点:一种观点强调数值计算方法的理论;而另一种观点则强调应用,认为数值计算过程大都是调用现成的程序库来完成的,并不需要了解太多的数学理论。笔者在编写这本教材时,力求将两种观点融合起来,一方面会简要介绍各种数值方法的理论,但着重于理解,而非数学论证;另一方面重视方法的实现过程,这包括两个含义:一是编程实现各种数值方法,这有助于深入理解理论,二是对调用现成的软件包实现各种数值方法进行了介绍,以便于学生在理论与应用之间进行快速的衔接。
本教材全书共分十章,第一章介绍数值计算的基本概念和误差分析的知识;第二章介绍Python语言的基本知识,第三章介绍方程(组)的求解,第四章介绍插值与回归,第五章介绍数值微分与数值积分,第六章介绍常微分方程的数值解,第七章介绍偏微分方程,第八章介绍过程最优化方法,第九章介绍Monte Carlo模拟及其应用,第十章介绍智能优化算法,包括遗传算法和粒子群优化算法。
数值分析是一门实用性很强的学科,本书在编写过程中有机融入党的二十大报告提出的推进新型工业化,加快建设制造强国、质量数字中国的精神,力求面向应用,避免过多的数学论证,将重点放在方法的实现及工程应用方面,使学生能真正会用这些方法解决实际问题是本书的重要目标。书中给出了各种数值计算方法的流程图,全部流程图均以N-S结构化流程图即盒图表示,便于理解和阅读,书中还给出了大部分方法的Python语言源程序,便于读者自学。本书中的所有源程序均在Anaconda 3.8平台上运行通过。书中给出了适量的例题和习题,便于读者编程实现和练习。
本书选材丰富,内容精炼,着重于工程应用,内容编排由浅入深,通俗易懂。可作为工科类院校本科生和研究生学习数值计算或计算方法的教材,也可供从事工程类相关专业研究的科技人员参考。
本书是厦门大学本科教材资助项目。在教材编写过程中,得到厦门大学化学化工学院有关老师的大力支持与帮助,在此表示衷心的感谢!
由于编者水平有限,书中难免存在疏漏,希望广大读者批评指正。
编者
2023年3月
|
|