内容简介
MATLAB为广大科研工作者的必备工具之一,智能算法在工程实际上得到较广泛的应用。《MATLAB智能算法超级学习手册》基于MATLAB R2013a软件,全面地介绍和举例验证智能算法的有效性。
智能算法种类较多,《MATLAB智能算法超级学习手册》的内容主要包括马尔科夫链模型、层次分析法、粒子群算法、遗传算法、蚁群算法、鱼群算法、PID控制算法、神经网络算法等。智能算法对于很多初学者而言,有一定的困难,很难理解程序流程、数据的运算过程,因此给实际应用带来困难。本书将围绕智能算法展开综述,深入浅出地介绍和分析各类智能算法,用智能算法解决工程应用问题。
《MATLAB智能算法超级学习手册》以工程应用为目标,深入浅出,实例引导,讲解详实,适合作为理工科高等院校研究生、本科生的教学用书,也可作为广大科研和工程技术人员的参考用书。
内页插图
目录
目 录
第1章 MATLAB基础知识 1
1.1 MATLAB简介 1
1.2 矩阵的表示 4
1.2.1 数值矩阵的生成 5
1.2.2 符号矩阵的生成 6
1.2.3 特殊矩阵的生成 7
1.3 符号变量的应用 9
1.3.1 质点系的转动惯量问题 10
1.3.2 油罐剩余油量体积的求解 10
1.3.3 光的反射定理的论证 12
1.4 线性方程组的求解 14
1.4.1 齐次线性方程组的通解 14
1.4.2 非齐次线性方程组的通解 15
1.4.3 线性方程组的LQ解法 17
1.5 简单工程应用分析 18
1.5.1 内燃机转角与升程插值模型 18
1.5.2 航行区域警示线模型 19
1.6 本章小结 22
第2章 种群竞争微分方程的求解 23
2.1 种群竞争微分方程模型 23
2.2 种群竞争模型的讨论 29
2.3 本章小结 33
第3章 基于Markov的食品物价趋势预测 34
3.1 问题背景 34
3.1.1 食品零售价格数据 34
3.1.2 问题的提出 35
3.2 食品分类模型基本假设 35
3.3 食品价格数值分类求解 36
3.3.1 食品聚类分类 36
3.3.2 食品价格特点分析 38
3.4 食品价格增长率分类求解 46
3.4.1 食品属性分类 47
3.4.2 食品价格特点分析 47
3.5 食品价格趋势预测 53
3.5.1 食品价格预测模型基本假设 53
3.5.2 食品价格预测模型符号说明 53
3.5.3 食品价格预测模型的建立与求解 54
3.6 本章小结 62
第4章 基于时间序列的物价预测算法 63
4.1 时间序列的基本概念 63
4.2 非平稳时间序列变动的影响因素与测定模型 64
4.3 时间序列的预测方法 64
4.3.1 季节变动分析 65
4.3.2 循环变动分析 65
4.4 食品价格分析 66
4.5 灰色关联分析 67
4.5.1 灰色预测建模 68
4.5.2 食品价格趋势预测 70
4.6 时间序列指数平滑预测法 76
4.6.1 一次指数平滑预测法 76
4.6.2 二次指数平滑预测法 77
4.6.3 三次指数平滑法 78
4.7 时间序列线性二次移动平均法 80
4.8 本章小结 85
第5章 基于层次分析法的食堂服务质量评价算法 86
5.1 问题的背景 86
5.2 层次分析法 87
5.2.1 层次分析法的特点 87
5.2.2 层次分析法的应用 87
5.2.3 层次分析法的基本原理与步骤 88
5.2.4 层次分析法应用举例 92
5.3 学生食堂就餐服务质量满意度 96
5.3.1 食堂服务质量评价模型基本假设 96
5.3.2 食堂服务质量评价模型分析 96
5.3.3 食堂服务质量评价模型符号说明 97
5.3.4 食堂服务质量评价模型的建立与求解 97
5.4 本章小结 104
第6章 MATLAB优化工具箱的使用 105
6.1 线性规划问题 105
6.2 foptions函数 107
6.3 非线性规划问题 108
6.3.1 有约束的一元函数的最小值 108
6.3.2 无约束的多元函数最小值 109
6.3.3 有约束的多元函数最小值 111
6.3.4 二次规划问题 114
6.4 “半无限”有约束的多元函数最优解 117
6.5 极小化极大问题 121
6.6 多目标规划问题 123
6.7 最小二乘最优问题 126
6.7.1 约束线性最小二乘 126
6.7.2 非线性曲线拟合 128
6.7.3 非线性最小二乘 129
6.7.4 非负线性最小二乘 131
6.8 非线性方程求解 131
6.8.1 非线性方程的解 132
6.8.2 非线性方程组的解 132
6.9 本章小结 134
第7章 基于RBF网络的优化逼近 135
7.1 RBF神经网络 135
7.1.1 RBF网络特点 136
7.1.2 RBF网络结构 136
7.1.3 RBF网络的逼近 136
7.2 模糊RBF网络 140
7.2.1 网络结构 141
7.2.2 基于模糊RBF网络的逼近算法 142
7.3 基于遗传算法的RBF网络逼近 145
7.4 RBF网络自校正控制 152
7.4.1 自校正控制算法 153
7.4.2 RBF网络自校正控制算法 153
7.5 本章小结 157
第8章 自适应模糊控制算法 158
8.1 模糊控制 158
8.1.1 模糊系统的设计 159
8.1.2 模糊系统的逼近精度 159
8.1.3 模糊逼近仿真 160
8.2 间接自适应模糊控制 165
8.2.1 一般模糊系统 166
8.2.2 自适应模糊控制器的设计 167
8.2.3 稳定性分析 167
8.2.4 间接自适应模糊控制仿真 169
8.3 直接自适应模糊控制 175
8.3.1 问题描述 175
8.3.2 控制器的设计 176
8.3.3 自适应律设计 177
8.3.4 直接自适应模糊控制仿真 179
8.4 本章小结 182
第9章 基于PID的控制算法 183
9.1 PID控制原理 183
9.2 专家PID控制 184
9.3 增量式PID控制算法及其仿真 188
9.4 积分分离式PID控制算法及其仿真 191
9.5 基于卡尔曼滤波器的PID控制 195
9.6 本章小结 203
第10章 基于LQR+PID的倒立摆控制算法 204
10.1 背景 204
10.2 线性系统 205
10.2.1 状态空间基本定义 205
10.2.2 状态空间表达式 205
10.2.3 系统状态线性变换 206
10.2.4 线性系统的能控性 207
10.3 最优控制 208
10.3.1 线性二次型控制 208
10.3.2 LQR状态反馈矩阵求解 210
10.3.3 PID控制 211
10.3.4 PID状态反馈矩阵求解 212
10.4 倒立摆系统 213
10.4.1 一级倒立摆系统分析 214
10.4.2 利用LQR法设计控制器 215
10.4.3 利用PID法设计控制器 219
10.5 倒立摆系统平衡控制系统设计 220
10.5.1 Simulink设计仿真 220
10.5.2 线性二次型倒立摆控制 220
10.5.3 PID倒立摆控制 222
10.6 本章小结 223
第11章 基于粒子群算法的寻优计算 224
11.1 基本粒子群算法 224
11.2 粒子群算法的收敛性 227
11.3 粒子群算法函数极值求解 228
11.3.1 一维函数全局最优 229
11.3.2 经典测试函数 231
11.3.3 无约束函数极值寻优 237
11.3.4 有约束函数极值寻优 240
11.3.5 有约束函数极值APSO寻优 243
11.4 MATLAB优化工具箱简介 248
11.5 本章小结 249
第12章 基本粒子群改进算法分析 250
12.1 基本粒子群算法 250
12.1.1 基本PSO算法 250
12.1.2 PSO算法基本特点 252
12.1.3 基本PSO算法流程 252
12.2 粒子群算法改进 253
12.3 提高粒子群算法效率 254
12.3.1 带惯性权重的PSO算法 254
12.3.2 权重线性递减的PSO算法 255
12.3.3 自适应权重的PSO算法 259
12.3.4 随机权重策略的PSO算法 260
12.3.5 增加收缩因子的PSO算法 262
12.3.6 其他参数的变化 265
12.4 本章小结 273
第13章 基于免疫算法的物流中心选址 274
13.1 物流中心选址问题 274
13.2 免疫算法的基本思想 275
13.3 基于免疫优化算法的物流中心选址问题求解 276
13.3.1 初始群体的产生 277
13.3.2 解的多样性评价 277
13.3.3 免疫操作 278
13.3.4 模型求解 279
13.4 本章小结 289
第14章 基于人工免疫的粒子群聚类算法 290
14.1 聚类分析 290
14.2 PSO优化算法分析 291
14.2.1 粒子群优化算法 291
14.2.2 PSO算法改进策略 292
14.3 人工免疫特性分析 292
14.3.1 生物免疫系统及其特性 292
14.3.2 种群分布熵 293
14.3.3 平均粒距 293
14.3.4 精英均值偏差 293
14.4 基于人工免疫的粒子群优化算法 294
14.4.1 PSO函数极值求解 295
14.4.2 粒子群聚类算法理论分析 297
14.4.3 粒子群算法实现流程 299
14.4.4 种群多样性聚类分析 300
14.5 本章小结 310
第15章 基于ART的植物种类自动分类 311
15.1 ART网络分类算法简介 311
15.1.1 人工神经网络实际应用 311
15.1.2 ART网络 312
15.2 植物种类自动分类研究 312
15.2.1 植物种类简介 312
15.2.2 植物分类 313
15.3 基于ART的植物种类数据自动分类研究 313
15.3.1 神经网络简介 313
15.3.2 自适应共振理论 315
15.3.3 ART1网络结构 315
15.3.4 ART1运行过程 317
15.4 本章小结 320
第16章 基于贝叶斯网络的数据预测 321
16.1 贝叶斯统计方法 321
16.2 贝叶斯预测方法 323
16.3 贝叶斯网络的数据预测 325
16.4 本章小结 328
第17章 基于遗传算法的寻优计算 329
17.1 遗传算法的寻优计算 329
17.2 基于GA的三维曲面极值寻优 338
17.3 基于GA_PSO算法的寻优计算 345
17.4 本章小结 348
第18章 基于遗传算法的TSP求解 349
18.1 旅行商问题分析 349
18.1.1 遗传算法简介 349
18.1.2 遗传算法现状分析 350
18.2 遗传算法的特点 351
18.3 遗传算法中各算子的特点 352
18.3.1 选择算子(selection) 352
18.3.2 交叉算子(crossover) 352
18.3.3 变异算子(mutation) 353
18.4 遗传算法的基本步骤 353
18.4.1 编码 354
18.4.2 初始群体的生成 354
18.4.3 杂交 355
18.4.4 适应度值评估检测 355
18.4.5 选择 355
18.4.6 变异 355
18.4.7 中止 355
18.5 基于GA的旅行商问题求解 356
18.5.1 TSP问题定义 356
18.5.2 TSP算法框架 356
18.5.3 TSP算法流程框图 357
18.5.4 固定地图TSP求解 358
18.5.5 随机地图TSP求解 359
18.6 遗传算法讨论 365
18.6.1 编码表示 366
18.6.2 适应度函数 366
18.6.3 选择策略 366
18.6.4 控制参数 366
18.7 本章小结 366
第19章 基于蚁群算法的路径规划计算 367
19.1 基于蚁群算法的二维路径规划算法 367
19.1.1 MAKLINK图论 367
19.1.2 蚁群算法理论 368
19.1.3 Dijkstra算法 369
19.1.4 路径规划问题分析求解 369
19.2 基于蚁群算法的三维路径规划算法 378
19.2.1 三维空间抽象建模 378
19.2.2 三维路径问题 379
19.2.3 信息素更新 379
19.2.4 可视搜索空间 380
19.2.5 蚁群搜索策略 380
19.2.6 路径规划问题分析求解 381
19.3 本章小结 388
第20章 基于蚁群算法的TSP求解 389
20.1 蚁群算法理论研究现状 389
20.2 蚁群算法的基本原理 391
20.3 基于ACO的TSP求解 394
20.4 基于ACO_PSO的TSP求解 398
20.5 本章小结 408
第21章 基于模拟退火的粒子群算法 409
21.1 基于模拟退火的粒子群算法 409
21.1.1 模拟退火算法的提出 409
21.1.2 模拟退火算法的步骤 410
21.1.3 模拟退火的粒子群算法 410
21.2 本章小结 416
第22章 基于人群搜索算法的函数优化 417
22.1 SOA算法的基本原理 417
22.1.1 利己行为 417
22.1.2 利他行为 418
22.1.3 预动行为 418
22.1.4 不确定性行为 418
22.2 人群搜索算法 418
22.2.1 搜索步长的确定 419
22.2.2 搜索方向的确定 420
22.2.3 搜寻者个体位置的更新 420
22.2.4 算法的实现 420
22.3 基于人群搜索算法的函数优化 421
22.3.1 优化函数的选择 421
22.3.2 函数优化的结果 421
22.4 本章小结 432
第23章 数控机床进给伺服系统的SOA-PID参数整定 433
23.1 SOA算法在PID控制中的运用 433
23.1.1 PID控制原理 433
23.1.2 PID的离散化处理 434
23.1.3 基于SOA的PID参数整定的基本原理 434
23.2 基于SOA的PID参数整定的设计方案 435
23.2.1 参数的编码 435
23.2.2 适应度函数的选取 435
23.2.3 算法流程 436
23.2.4 算法实例 436
23.2.5 PID参数整定结果 436
23.3 数控机床进给伺服系统的数学模型 454
23.3.1 数控机床进给伺服系统的PMSM数学模型 454
23.3.2 矢量变换原理 455
23.3.3 Clarke变换 456
23.3.4 Park变换 456
23.3.5 同步旋转坐标上的PMSM数学模型 457
23.4 机械参量和负载的折算 457
23.5 矢量控制和磁场定向原理 458
23.5.1 矢量控制原理 459
23.5.2 磁场定向原理 459
23.5.3 磁场定向(id=0)的控制方式下的PMSM进给伺服系统模型 460
23.5.4 数控机床进给伺服系统数学模型的传递函数的表示 460
23.6 基于SOA算法对数控机床进给伺服系统PID优化 461
23.6.1 适应度函数的选取 461
23.6.2 SOA算法流程 461
23.6.3 PID参数整定结果 461
23.7 本章小结 479
参考文献 480
前言/序言
《MATLAB智能算法超级学习手册》图书简介 一、 内容概要 《MATLAB智能算法超级学习手册》是一本面向广大MATLAB用户、工程师、研究人员以及对智能算法应用感兴趣的读者的专业技术书籍。本书旨在系统地介绍MATLAB在智能算法领域的强大功能和应用方法,通过深入浅出的讲解和丰富的实例,帮助读者掌握各种主流智能算法的设计原理、实现技巧以及在实际问题中的应用策略。 本书的核心内容覆盖了当今智能算法领域最重要、最具代表性的几个分支,包括但不限于: 机器学习基础与核心算法: 涵盖监督学习、无监督学习、半监督学习等基本概念,详细讲解线性回归、逻辑回归、支持向量机(SVM)、决策树、随机森林、K近邻(KNN)等经典算法的原理、MATLAB实现及调优方法。 深度学习导论与主流网络: 深入剖析神经网络的基本原理,介绍前馈神经网络、卷积神经网络(CNN)、循环神经网络(RNN)等主流深度学习模型,并通过MATLAB的深度学习工具箱,演示如何构建、训练和评估深度神经网络,应用于图像识别、自然语言处理等领域。 进化计算与优化算法: 重点阐述遗传算法(GA)、粒子群优化(PSO)、差分进化(DE)等经典的进化计算算法,详细解析其核心算子、参数设置及收敛性,并提供在函数优化、组合优化、工程设计等实际问题中的应用案例。 模糊逻辑系统与专家系统: 介绍模糊逻辑的理论基础,包括模糊集、模糊规则、模糊推理等,并演示如何利用MATLAB的模糊逻辑工具箱构建模糊控制器和模糊推理系统,解决不确定性下的决策问题。同时,也会触及专家系统的构建思想与实现。 其他重要智能算法: 探索诸如蚁群算法(ACO)、模拟退火算法(SA)、贝叶斯网络、隐马尔可夫模型(HMM)等在特定领域具有广泛应用的智能算法,讲解其工作机制和MATLAB实现。 本书的特色在于,它不仅仅停留在算法原理的讲解,更强调“MATLAB实践”。每一项算法的介绍都配以清晰、可运行的MATLAB代码示例,这些示例来源于真实或仿真的工程问题,具有很强的指导性和实用性。读者可以通过阅读和运行这些代码,直观地理解算法的执行过程,并学会如何将算法应用于自身的研究和工作中。 二、 目标读者 本书的目标读者群体广泛,主要包括: 1. MATLAB用户与开发者: 任何希望在MATLAB环境中高效实现和应用智能算法的工程师、程序员和技术爱好者。 2. 高校学生与科研人员: 计算机科学、电子工程、自动化、控制工程、信息科学、统计学、生物医学工程等相关专业的本科生、研究生及博士生,以及进行相关领域研究的科研工作者。 3. 在职工程师与技术专家: 从事模式识别、数据挖掘、人工智能、信号处理、控制系统设计、机器人技术、金融建模、生物信息学等领域的工程师和技术专家,需要利用智能算法解决实际工程和商业问题。 4. 对智能算法感兴趣的自学者: 希望系统学习智能算法原理并通过实际操作掌握其应用方法的个人。 三、 本书特色与亮点 1. 系统性与全面性: 本书力求覆盖智能算法领域的关键分支,从基础概念到高级应用,为读者提供一个完整的学习框架。 2. MATLAB驱动的实践导向: 所有算法的讲解均以MATLAB为平台,提供大量高质量、可执行的代码示例,强调“学以致用”。 3. 深入浅出的原理阐述: 算法原理讲解清晰易懂,避免过于晦涩的数学推导,重点突出算法的直观理解和核心思想。 4. 丰富的案例分析: 结合实际应用场景,如图像处理、数据分类、路径规划、参数优化等,展示智能算法解决问题的能力。 5. 工具箱的深度应用: 充分利用MATLAB提供的各种专业工具箱(如Deep Learning Toolbox, Fuzzy Logic Toolbox, Optimization Toolbox, Statistics and Machine Learning Toolbox等),指导读者掌握专业工具的使用。 6. 进阶与实战结合: 从基本算法入手,逐步深入到复杂模型和组合算法的应用,帮助读者构建从入门到精通的学习路径。 7. 解决实际问题的能力培养: 读者通过学习本书,不仅能理解算法,更能学会如何根据具体问题选择、设计、实现和调优合适的智能算法。 四、 阅读建议 为了最大化本书的学习效果,建议读者: 具备一定的MATLAB基础: 熟悉MATLAB的基本语法、矩阵运算、函数编写等。 理论与实践同步: 在阅读算法原理的同时,动手运行和修改书中的代码示例,观察运行结果,加深理解。 循序渐进: 按照章节顺序进行学习,逐步掌握各项内容。对于有一定基础的读者,也可根据自身需求跳跃阅读。 积极思考与探索: 在学习过程中,尝试将学到的算法应用于自己感兴趣的实际问题,挑战更复杂的应用场景。 参考MATLAB官方文档: 对于某些高级功能或工具箱的细节,可结合MATLAB官方文档进行查阅。 五、 潜在的应用领域 本书介绍的智能算法在广泛的工程、科学和商业领域都有着重要的应用价值,包括但不限于: 模式识别与计算机视觉: 图像分类、目标检测、人脸识别、医学影像分析。 自然语言处理: 文本分类、情感分析、机器翻译、语音识别。 信号处理与分析: 噪声滤波、故障诊断、特征提取。 智能控制系统: 机器人路径规划、自动驾驶、工业过程控制。 数据挖掘与预测: 市场预测、信用评分、用户行为分析。 优化设计与决策支持: 参数优化、资源调度、金融风险评估。 生物信息学与生物医学: 基因序列分析、药物发现、疾病诊断。 结语 《MATLAB智能算法超级学习手册》将是你探索MATLAB智能算法世界的得力助手。本书致力于将前沿的智能算法理论与MATLAB强大的计算和可视化能力有机结合,通过丰富的实践指导,帮助读者在快速发展的智能技术浪潮中,构建坚实的基础,掌握核心技能,解决实际问题,最终实现技术上的飞跃。无论你是初学者还是经验丰富的专业人士,都能从中获得宝贵的知识和实用的技能。