本书通过物理、化学、生物、医学、交通、人口、生态、经济管理和工程技术中众多数学模型的实例,阐明建立各种现实问题数学模型的主要方法和基本规律。书中每章内容后面还设置了“习题”和“实践与思考”,前者是帮助读者加深对本章内容理解的练习;后者实际上是为建立与本章内容有关的实际问题的数学模型的实践活动提供课题,其中有些还是国内外数学建模竞赛的赛题。阅读该书有助于读者提高分析问题和解决问题的能力。
本书以Python软件为基础,详细介绍了数学建模领域各种经典算法以及其软件实现。内容涉及线性代数、运筹学、插值拟合、微分差分方程、数据处理、多元统计分析、评价预测等领域的经典算法,既有对数学原理的详述,又有例题和案例配套的Python程序。适合于没有Python语言基础的读者快速上手Python语言。
本书可以作为“数学建模”课程的主讲教材,也可以作为“数学实验”课程的参考教材,以及“运筹学”课程的扩充阅读教材和教学参考书。
章 数学建模概论 1
1.1 数学模型与数学建模 1
1.2 数学建模的基本方法和步骤 3
1.3 建模竞赛论文写作 7
1.4 数学建模与能力培养 9
习题1 10
第2章 Python使用入门 13
2.1 Python概述 13
2.2 Python基本数据类型 18
2.3 函数 23
2.4 NumPy库 28
2.5 Pandas库介绍 32
2.6 文件操作 34
2.7 SciPy库 36
2.8 SymPy库 39
2.9 Matplotlib库介绍 40
习题2 45
第3章 线性代数模型 47
3.1 特征值与特征向量 47
3.1.1 差分方程 47
3.1.2 莱斯利(Leslie)种群模型 49
3.1.3 PageRank算法 52
3.2 矩阵的奇异值分解及应用 56
3.2.1 矩阵的奇异值分解 56
3.2.2 奇异值分解应用 58
习题3 64
第4章 线性规划和整数规划模型 66
4.1 线性规划模型 66
4.1.1 线性规划模型及概念 66
4.1.2 模型求解及应用 68
4.2 整数规划 73
4.2.1 整数线性规划模型 73
4.2.2 整数线性规划模型的求解 76
4. 3 投资的收益与风险 81
4. 4 比赛项目排序问题 87
习题4 89
第5章 非线性规划和多目标规划模型 92
5.1 非线性规划概念和理论 92
5.1.1 非线性规划问题的数学模型 92
5.1.2 无约束非线性规划的求解 93
5.1.3 有约束非线性规划的求解 93
5.1.4 凸规划 94
5.2 一个简单非线性规划模型 96
5. 3 二次规划模型 102
5.4 非线性规划的求解及应用 106
5.5 多目标规划 109
5.5.1 多目标规划问题的基本理论 109
5.5.2 求有效解的几种常用方法 110
5.6 飞行管理问题 115
习题5 118
第6章 图论模型 120
6.1 图与网络的基础理论 120
6.1.1 图与网络的基本概念 120
6.1.2 图的矩阵表示 121
6.2 NetworkX简介 123
6. 3 最短路算法 126
6.3.1 固定起点的最短路 126
6.3.2 所有顶点对之间最短路的Floyd算法 128
6.3.3 最短路应用范例 130
6.3.4 最短路问题的0-1整数规划模型 132
6.4 最小生成树 134
6.4.1 基本概念和算法 134
6.4.2 最小生成树的数学规划模型 137
6.5 着色问题 138
6.6 优选流与最小费用流问题 140
6.6.1 优选流问题 140
6.6.2 最小费用流问题 144
6.7 关键路径 146
6.7.1 计划网络图 146
6.7.2 时间参数 147
6.7.3 计划网络图的计算 149
6.7.4 关键路线与计划网络的优化 151
6.7.5 完成作业期望和实现事件的概率 153
6.8 钢管订购和运输 155
习题6 161
第7章 插值与拟合 164
7.1 插值方法 164
7.1.1 一维插值 164
7.1.2 二维插值 171
7.1.3 用Python求解插值问题 173
7.2 拟合 180
7.2.1 最小二乘拟合 180
7.2.2 线性最小二乘法的Python实现 182
7.2.3 非线性拟合的Python实现 185
7.2.4 拟合和统计等工具箱中的一些检验参数解释 188
7. 3 函数逼近 189
7. 4 黄河小浪底调水调沙问题 190
习题7 193
第8章 常微分方程与差分方程 195
8.1 常微分方程问题的数学模型 195
8.2 传染病预测问题 198
8.3 常微分方程的求解 201
8.3.1 常微分方程的符号解 201
8.3.2 常微分方程的数值解 203
8.4 常微分方程建模实例 208
8.4.1 Malthus模型 208
8.4.2 Logistic模型 209
8.4.3 两个种群的相互作用模型 211
8.5 差分方程建模方法 216
8.5.1 差分方程建模 216
8.5.2 差分方程的基本概率和理论 219
8.6 应用案例:最优捕鱼策略 221
习题8 225
第9章 数据的描述性统计方法 227
9.1 scipy.stats模块简介 227
9.2 统计的基本概念和统计图 231
9.2.1 统计的基本概念 231
9.2.2 用Python计算统计量 233
9.2.3 统计图 234
9.3 参数估计和假设检验 239
9.3.1 参数估计 239
9.3.2 参数假设检验 239
9.3.3 非参数假设检验 242
9.4 方差分析 247
9.4.1 单因素方差分析方法 247
9.4.2 双因素方差分析方法 251
习题9 256
0章 回归分析 259
10.1 一元线性回归模型 259
10.1.1 一元线性回归分析 259
10.1.2 一元线性回归应用举例 261
10.2 多元线性回归 263
10.2.1 多元线性回归理论 263
10.2.2 多元线性回归应用 266
10.3 多项式回归 268
10.4 逐步回归 272
10.5 广义线性回归模型 275
10.5.1 分组数据的Logistic回归模型 275
10.5.2 未分组数据的Logistic回归模型 277
10.5.3 Probit回归模型 279
10.5.4 Logistic回归模型的应用 280
习题10 283
1章 聚类分析与判别分析 287
11.1 聚类分析 287
11.1.1 数据变换 287
11.1.2 样本(或指标)间亲疏程度的测度计算 288
11.1.3 scipy.cluster.hierarchy模块的系统聚类 289
11.1.4 基于类间距离的系统聚类 290
11.1.5 动态聚类法 296
11.1.6 R型聚类法 300
11.2 判别分析 302
11.2.1 距离判别法 302
11.2.2 Fisher判别 306
11.2.3 判别准则的评价 308
习题11 309
2章 主成分分析与因子分析 312
12.1 主成分分析 312
12.1.1 主成分分析的基本原理和步骤 312
12.1.2 主成分分析的应用 313
12. 2 因子分析 320
12.2.1 因子分析的数学理论 320
12.2.2 因子分析的应用 323
习题12 326
3章 偏最小二乘回归分析 329
13.1 偏最小二乘回归分析 329
13.2 一种更简洁的计算方法 331
13. 3 案例分析 332
习题13 337
4章 综合评价方法 339
14.1 综合评价指标体系 339
14.2 综合评价数据处理 340
14. 3 常用的综合评价数学模型 344
14.3.1 线性加权综合评价法 344
14.3.2 TOPSIS法 344
14.3.3 灰色关联度分析 345
14.3.4 熵值法 346
14.3.5 秩和比法 346
14.3.6 综合评价示例 347
14.4 模糊数学方法 350
14.5 数据包络分析 354
14.6 招聘公务员问题 357
习题14 366
5章 预测方法 369
15.1 灰色预测模型 369
15.1.1 GM(1,1)预测模型 369
15.1.2 GM(2,1)、DGM和Verhulst模型 372
15.2 马尔科夫预测 378
15. 3 神经元网络 383
习题15 389
6章 博弈论 391
16.1 基本概念 391
16.2 零和博弈 394
16.3 双矩阵博弈模型 402
习题16 405
7章 偏微分方程 408
17.1 三类偏微分方程的定解问题 408
17.2 简单偏微分方程的符号解 409
17.3 偏微分方程的差分解法 411
17.4 Python求偏微分方程数值解举例 417
习题17 420
参考文献 421