书籍详情

工程数值计算Python教程

工程数值计算Python教程

作者:姚传义 编著

出版社:化学工业出版社

出版时间:2023-09-01

ISBN:9787122434111

定价:¥59.00

购买这本书可以去
内容简介
  本书面向应用,介绍各种数值计算方法的基本原理及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
猜您喜欢

读书导航