内容简介
本书的主要内容是应用MATLAB来解决化问题,通过将“化问题”、“MATLAB优化工具箱”和“MATLAB编程”这三方面有机结合进行讲述,即一方面是使用工具箱来快速解决化问题,另一方面是通过算法编程深入解决化问题实用性强,优化的方法也丰富,包括无约束极值求解、约束优化、非线性二乘优化、线性规划、整数规划、二次规划、粒子群优化算法和遗传算法。
本书侧重于化算法的MATLAB实现,同时了大量的化问题实例,通过实例的分析与求解,切实教会读者掌握MATLAB在化问题方面的应用。
目录
目 录
第1篇 MATLAB入门篇
第1章 MATLAB概述 2
1.1 MATLAB的产生与发展 2
1.2 MATLAB的优势与特点 3
1.3 MATLAB系统的构成 4
1.4 MATLAB桌面操作环境 5
1.4.1 MATLAB启动和退出 5
1.4.2 MATLAB主菜单及功能 7
1.4.3 MATLAB命令窗口 9
1.4.4 MATLAB工作空间 11
1.4.5 M文件编辑/调试器 14
1.4.6 图形窗口 15
1.4.7 MATLAB文件管理 16
1.4.8 MATLAB帮助使用 17
1.5 MATLAB的工具箱 17
1.6 小结 18
第2章 MATLAB计算基础 19
2.1 MATLAB数值类型 19
2.2 关系运算和逻辑运算 21
2.3 矩阵及其运算 22
2.3.1 矩阵的创建 22
2.3.2 矩阵的运算 23
2.4 复数及其运算 25
2.4.1 复数的表示 25
2.4.2 复数的绘图 26
2.4.3 复数的操作函数 27
2.5 符号运算 28
2.5.1 符号运算概述 28
2.5.2 常用的符号运算 30
2.6 小结 32
第3章 MATLAB绘图基础 33
3.1 MATLAB绘图的基本步骤 33
3.2 在工作空间直接绘图 34
3.3 利用绘图函数绘图 35
3.3.1 二维图形 35
3.3.2 三维图形 36
3.4 图形的修饰 40
3.5 小结 42
第4章 MATLAB编程基础 43
4.1 MATLAB编程概述 43
4.2 MATLAB编程原则 44
4.3 M文件 45
4.4 MATLAB程序流程控制 47
4.5 MATLAB的函数及调用 50
4.5.1 函数类型 50
4.5.2 函数参数传递 53
4.6 函数句柄 57
4.7 MATLAB程序调试 59
4.7.1 常见程序错误 59
4.7.2 调试方法 61
4.7.3 调试工具 62
4.7.4 M文件分析工具 65
4.8 MATLAB编程技巧 68
4.8.1 嵌套计算 68
4.8.2 循环计算 70
4.8.3 使用例外处理机制 70
4.8.4 使用全局变量 72
4.8.5 通过varargin传递参数 74
4.9 小结 75
第2篇 优化计算基础篇
第5章 MATLAB优化工具箱 78
5.1 工具箱概述 78
5.1.1 工具箱的功能 78
5.1.2 工具箱的 78
5.1.3 工具箱的结构 79
5.2 工具箱函数 79
5.3 GUI优化工具 82
5.3.1 GUI优化工具的启动 82
5.3.2 GUI优化工具的界面 83
5.3.3 GUI优化工具使用步骤 84
5.3.4 GUI优化工具应用实例 85
5.4 小结 92
第6章 无约束一维极值问题 93
6.1 进退法 93
6.2 黄金分割法 96
6.3 斐波那契法 98
6.4 牛顿法 102
6.4.1 基本牛顿法 102
6.4.2 全局牛顿法 104
6.5 割线法 107
6.6 抛物线法 109
6.7 三次插值法 112
6.8 可接受搜索法 114
6.8.1 Goldstein法 114
6.8.2 Wolfe-Powell法 117
6.9 MATLAB工具箱应用实例 119
6.9.1 应用fminbnd函数 119
6.9.2 应用fminsearch函数 125
6.9.3 应用改进的fminbnd函数 125
6.9.4 应用maple函数 127
6.10 小结 129
第7章 无约束多维极值问题 130
7.1 直接法 130
7.1.1 模式搜索法 130
7.1.2 Rosenbrock法 134
7.1.3 单纯形搜索法 137
7.1.4 Powell法 141
7.2 使用导数计算的间接法 144
7.2.1 下降法 145
7.2.2 共轭梯度法 146
7.2.3 牛顿法 149
7.2.4 修正牛顿法 150
7.2.5 拟牛顿法 152
7.2.6 信赖域法 158
7.2.7 显式下降法 160
7.3 MATLAB工具箱应用实例 162
7.3.1 应用fminsearch函数 162
7.3.2 应用fminunc函数 168
7.3.3 应用fminimax函数 170
7.4 小结 174
第8章 约束优化问题 175
8.1 Rosen梯度投影法 175
8.2 罚函数法 179
8.2.1 外点罚函数法 179
8.2.2 内
摘要与插图
第1版前言化理论和方法日益受到重视,已经渗透到生产、管理、商业、军事、决策等各个领域,而化模型与方法广泛应用于工业、农业、交通运输、商业、国防、建筑、通信、政府机关等各个部门及各个领域。
伴随着计算机技术的高速发展,化理论与方法的迅速进步,为解决实际化问题的软件也在飞速发展。其中,MATLAB软件已成为在化领域应用的软件之一。
有了MATLAB这个强大的计算平台,既可以利用MATLAB优化工具箱(Optimization Toolbox)中的函数,又可以通过对算法编程实现相应的化计算。
本书由浅入深、全面系统地讲述MATLAB在化领域的应用。
本书导读图
使用指南
为了帮助读者在遇到具体应用问题时,能够更好更快地从本书中查找到所需内容,我们特地制作了本书的使用指南。这个指南的组织逻辑是以解决实际问题的一般思考步骤为顺序的,即在遇到具体应用问题时,大致都需要经历以下3个步骤。
明确应用领域
选择优化方法
应用MATLAB
在每一步骤中又涉及若干具体问题,可进一步向下细分。从这个指南图中也可以清楚地看出本书的知识脉络,从而形成一幅系统化、综合化的整体知识体系结构图。
给读者的建议
读者在学习本书时可根据自己的基础灵活安排内容,但应注意把握循序渐进的原则,稳扎稳打,逐步掌握。针对不同基础的读者,我们的建议如下图:
主要
本书内容以算法程序为主、实例为辅,通过一个个的算法分析、MATLAB编程、算法应用实例,一步步带领读者进入MATLAB的强大世界,挖掘MATLAB的丰富宝库。
本书主要的特点可以概括为以下几点。
1.内容由浅入深、层次性强
本书采用4篇结构,从MATLAB入门篇入手,然后通过优化计算基础篇和篇,循序渐进讲述化计算,在综合应用篇中讲述大量的实例收尾。本书的层次结构简洁明了,适合不同层次的读者选择性地学习,提高了学习效率。
另一方面,讲述应用MATLAB求解化问题时,也是从易到难依次讲述了GUI优化工具、工具箱函数、自编函数这三种实现方式。
2.紧密围绕MATLAB,系统性强
MATLAB软件的出现,为解决实际中各种化问题提供了更新、更丰富的手段、技术和方法。一方面从快捷便利的化工具箱GUI工具以及工具箱函数入手;另一方面从采用算法编程的方式入手。
简言之,利用MATLAB求解化问题,既可以用快捷的GUI工具,又可以用功能强大的工具箱函数,还可以通过算法编程来实现,方式多样,系统性强。
3.算法程序及实例丰富,实用性强
本书打破了化类书算法多、程序少的弊病,对复杂的算法推导一带而过,重在程序、重在MATLAB实现!
精心挑选了代表性和实用性的60余个优化算法,一一编程实现,并提供了全部源代码,便于学习和参考。
同时100多个实例,悉数进行全面的分析和求解,并在综合应用篇集中讲述。
4.算法编程实现,指导性强
本书的算法全部采用MATLAB编程实现,源程序注释丰富,而且通过实例验证了正确性,读者通过编程练习,不但可以更深入地理解优化算法理论,还能够熟练掌握MATLAB编程。
5.语言简洁精炼,可读性强
本书的算法尽量用直观的方法、简洁通俗的语言来说明其基本思想,并辅以丰富的实例与分析来说明求解的步骤,从而避免复杂的数学推导。
在算法编程中,对关键的代码进行点睛式的注释,让读者从程序中快速掌握化算法及其实现。
作者致谢
感谢父母和朋友们的支持与鼓励,使得本书的创作过程得以坚持下去;感谢朱沭红老师、王鹤扬编辑的大力支持和辛勤劳动!
由于作者水平和经验有限,书中错漏之处在所难