第1部分 1
第1章 MATLAB R2018a概述 1
1.1 MATLAB R2018a简介 2
1.1.1 MathWorks及其产品概述 2
1.1.2 MATLAB与其他数学软件 2
1.1.3 MATLAB的主要特点 3
1.1.4 MATLAB的系统组成 3
1.1.5 MATLAB应用程序简介 4
1.1.6 MATLAB R2018a新特性 5
1.2 MATLAB R2018a的目录结构 6
1.3 MATLAB R2018a的工作环境 7
1.3.1菜单/工具栏 7
1.3.2命令行窗口 8
1.3.3工作区 9
1.4 MATLAB R2018a的通用命令 9
1.5 MATLAB R2018a的文件管理 11
1.5.1当前文件夹浏览器和路径管理器 11
1.5.2搜索路径及其设置 11
1.6 MATLAB R2018a的帮助系统 13
1.6.1纯文本帮助 13
1.6.2演示(Demos)帮助 14
1.6.3帮助导航浏览器 14
1.7初步使用MATLAB 14
1.8本章小结 15
第2章 MATLAB基础知识 17
2.1数据类型 18
2.1.1数值类型 18
2.1.2逻辑类型 22
2.1.3字符和字符串 24
2.1.4函数句柄 26
2.1.5结构体类型 28
2.1.6数组类型 30
2.1.7单元数组类型 32
2.1.8 map容器类型 34
2.2基本矩阵操作 38
2.2.1矩阵和数组的概念及其区别 38
2.2.2矩阵的构造 39
2.2.3矩阵大小及结构的改变 43
2.2.4矩阵下标引用 44
2.2.5矩阵信息的获取 46
2.2.6矩阵的保存和加载 51
2.3运算符 56
2.3.1算术运算符 56
2.3.2关系运算符 58
2.3.3逻辑运算符 59
2.3.4运算优先级 60
2.4字符串处理函数 60
2.4.1字符串的构造 61
2.4.2字符串比较函数 62
2.4.3字符串查找和替换函数 63
2.4.4字符串——数值转换 64
2.5本章小结 64
第3章 数组与矩阵 65
3.1数组运算 66
3.1.1数组的创建和操作 66
3.1.2数组的常见运算 69
3.2矩阵操作 72
3.2.1创建矩阵 72
3.2.2改变矩阵大小 76
3.2.3重构矩阵 78
3.3矩阵元素的运算 79
3.3.1矩阵的加减运算 79
3.3.2矩阵的乘法运算 80
3.3.3矩阵的除法运算 81
3.3.4矩阵的幂运算 82
3.3.5矩阵元素的查找 83
3.3.6矩阵元素的排序 83
3.3.7矩阵元素的求和 84
3.3.8矩阵元素的求积 85
3.3.9矩阵元素的差分 86
3.4矩阵运算 86
3.4.1矩阵分析 87
3.4.2矩阵分解 91
3.4.3特征值和特征向量 97
3.5稀疏矩阵 99
3.5.1稀疏矩阵的存储方式 99
3.5.2稀疏矩阵的生成 100
3.5.3稀疏矩阵的运算 104
3.6本章小结 104
第4章 MATLAB编程基础 105
4.1 M文件编辑器 106
4.2变量 108
4.2.1变量的命名 108
4.2.2变量的类型 109
4.2.3 MATLAB默认的特殊变量 109
4.2.4关键字 110
4.3 MATLAB的控制流 110
4.3.1顺序结构 110
4.3.2 if-else-end分支结构 111
4.3.3 switch-case结构 112
4.3.4 try-catch结构 115
4.3.5 for循环结构 115
4.3.6 while循环结构 117
4.4控制程序流的其他常用指令 118
4.4.1 return指令 118
4.4.2 input和keyboard指令 118
4.4.3 yesinput指令 119
4.4.4 pause指令 119
4.4.5 continue指令 119
4.4.6 break指令 120
4.4.7 error和warning指令 120
4.5脚本和函数 120
4.5.1脚本 120
4.5.2函数 121
4.5.3 M文件的一般结构 123
4.5.4匿名函数、子函数、私有函数与私有目录 125
4.5.5重载函数 126
4.5.6 eval和feval函数 126
4.5.7内联函数 129
4.5.8向量化和预分配 131
4.5.9函数的函数 132
4.5.10 P码文件 133
4.6 M文件中变量的检测与传递 134
4.6.1输入/输出变量检测指令 134
4.6.2“可变数量”输入/输出变量 135
4.6.3跨空间变量传递和赋值 137
4.7 MATLAB程序的调试 139
4.7.1程序调试的基本概念 139
4.7.2直接调试法 140
4.7.3使用调试函数进行调试 140
4.7.4工具调试法 143
4.7.5程序的性能优化技术 144
4.8本章小结 146
第5章 数据可视化 147
5.1图形绘制 148
5.1.1离散数据及离散函数 148
5.1.2连续函数 148
5.1.3图形绘制示例 149
5.1.4图形绘制的基本步骤 151
5.2二维图形绘制 151
5.2.1 plot指令 151
5.2.2格栅 155
5.2.3文字说明 156
5.2.4线型、标记和颜色 159
5.2.5坐标轴设置 161
5.2.6图形叠绘 162
5.2.7子图绘制 163
5.2.8交互式绘图 164
5.2.9双坐标轴绘制 165
5.2.10 fplot绘图指令 166
5.2.11 ezplot绘图指令 167
5.2.12特殊坐标轴绘图 168
5.2.13二维特殊图形函数 170
5.3三维图形绘制 174
5.3.1曲线图绘制 174
5.3.2网格图绘制 175
5.3.3曲面图绘制 176
5.3.4光照模型 177
5.3.5绘制等值线图 178
5.4四维图形可视化 179
5.4.1用颜色描述第四维 179
5.4.2其他函数 180
5.5本章小结 181
第2部分 183
第6章 数据分析 183
6.1多项式及其函数 184
6.1.1多项式的表达式和创建 184
6.1.2多项式求根 185
6.1.3多项式的四则运算 186
6.1.4多项式的导数、积分与估值 188
6.1.5多项式运算函数及操作指令 189
6.1.6有理多项式 189
6.2数据插值 191
6.2.1一维插值 191
6.2.2二维插值 195
6.3函数的极限 196
6.3.1极限的概念 196
6.3.2求极限的函数 196
6.4函数数值积分 197
6.4.1数值积分问题的数学表述 198
6.4.2一元函数的数值积分 198
6.4.3多重数值积分 200
6.5本章小结 201
第7章 符号数学计算 203
7.1 MATLAB符号计算概述 204
7.2符号对象和符号表达式 204
7.2.1符号对象的创建命令 204
7.2.2符号对象的创建示例 205
7.2.3符号计算中的运算符和函数 208
7.2.4符号对象的类别识别函数 211
7.2.5符号表达式中的变量确定 213
7.2.6符号精度计算 214
7.3符号表达式操作 216
7.3.1符号表达式显示 216
7.3.2符号表达式合并 216
7.3.3符号表达式展开 217
7.3.4符号表达式嵌套 218
7.3.5符号表达式分解 218
7.3.6符号表达式简化 219
7.4符号表达式替换 221
7.4.1 subs替换函数 221
7.4.2 subexpr替换函数 222
7.5符号函数的操作 223
7.5.1复合函数操作 223
7.5.2反函数操作 224
7.6符号微积分 225
7.6.1符号表达式的极限 225
7.6.2符号表达式的微分 226
7.6.3符号表达式的积分 227
7.6.4符号表达式的级数求和 228
7.6.5符号表达式的泰勒级数 229
7.7符号积分变换 230
7.7.1傅里叶变换及其反变换 230
7.7.2拉普拉斯变换及其反变换 231
7.7.3 Z变换及其反变换 232
7.8符号代数方程求解 233
7.9符号微分方程求解 235
7.10符号分析可视化 237
7.10.1 funtool分析界面 237
7.10.2 taylortool分析界面 240
7.11本章小结 241
第8章 概率统计 243
8.1产生随机变量 244
8.1.1二项分布的随机数据的产生 244
8.1.2正态分布的随机数据的产生 244
8.1.3常见分布的随机数产生 245
8.2概率密度计算 246
8.2.1通用函数概率密度值 246
8.2.2专用函数概率密度值 248
8.3累积概率分布 249
8.3.1通用函数累积概率值 249
8.3.2专用函数累积概率值 250
8.4统计特征 251
8.4.1平均值、中值 251
8.4.2数据比较 252
8.4.3期望 253
8.4.4方差和标准差 253
8.4.5协方差与相关系数 253
8.5统计作图 255
8.5.1正整数频率表 255
8.5.2累积分布函数图形 255
8.5.3最小二乘拟合直线 256
8.5.4绘制正态分布概率图形 257
8.5.5样本数据的盒图 258
8.5.6参考线绘制 258
8.5.7样本概率图形 260
8.5.8正态拟合直方图 261
8.6本章小结 262
第9章 数学建模函数 263
9.1曲线拟合函数 264
9.1.1多项式拟合 264
9.1.2加权最小方差(WLS)拟合原理及实例 265
9.1.3非线性曲线拟合 267
9.2参数估计函数 268
9.2.1常见分布的参数估计 268
9.2.2点估计 270
9.2.3区间估计 272
9.3参数传递 272
9.3.1输入和输出参数的数目 273
9.3.2可变数目的参数传递 274
9.3.3返回被修改的输入参数 274
9.3.4全局变量 276
9.4本章小结 276
第10章 经典智能算法 277
10.1粒子群算法的MATLAB实现 278
10.1.1基本原理 278
10.1.2程序设计 279
10.1.3经典应用 286
10.2遗传算法的MATLAB实现 290
10.2.1基本原理 290
10.2.2程序设计 293
10.2.3经典应用 297
10.3蚁群算法概述 303
10.3.1基本原理 303
10.3.2程序设计 304
10.3.3经典应用 306
10.4本章小结 314
第3部分 315
第11章 偏微分方程工具箱 315
11.1偏微分方程(PDE)工具箱介绍 316
11.1.1偏微分方程常见类型介绍 316
11.1.2偏微分方程工具箱简介 322
11.2求解偏微分方程示例 323
11.2.1求解椭圆方程 324
11.2.2求解抛物线方程 328
11.2.3求解双曲线方程 331
11.2.4求解特征值方程 335
11.3本章小结 338
第12章 优化工具箱 339
12.1优化工具箱及最优化问题介绍 340
12.1.1优化工具箱常用函数 340
12.1.2最优化问题 343
12.2线性规划 345
12.2.1线性规划函数 346
12.2.2线性规划问题的应用 347
12.3无约束非线性规划 355
12.3.1基本数学原理介绍 355
12.3.2无约束非线性规划函数 356
12.3.3无约束非线性规划问题的应用 359
12.4二次规划 359
12.4.1二次规划函数quadprog 359
12.4.2二次规划问题的应用 361
12.5有约束最小化 362
12.5.1有约束最小化函数fmincon 362
12.5.2有约束最小化应用 365
12.6目标规划 366
12.6.1目标规划函数fgoalattain 366
12.6.2目标规划应用 369
12.7最大最小化 372
12.7.1最大最小化函数fminimax 372
12.7.2最大最小化应用 374
12.8本章小结 375
第13章 小波分析工具箱 377
13.1小波分析 378
13.1.1小波分析概述 378
13.1.2傅里叶变换和小波变换 379
13.1.3多分辨分析 382
13.1.4小波包分析 385
13.1.5几种常用的小波 389
13.1.6小波应用演示示例 391
13.2小波工具箱介绍 392
13.2.1小波工具箱的启动 392
13.2.2一维连续小波分析工具 393
13.2.3一维离散小波分析工具 398
13.3小波分析在图像处理中的应用 403
13.3.1基于小波变换的图像局部压缩 404
13.3.2二维小波变换的图像压缩 405
13.3.3图像压缩中阈值的确定与作用命令 408
13.3.4基于小波包变换的图像压缩 409
13.3.5小波变换用于图像去噪 411
13.3.6小波分析用于图像增强 414
13.3.7图像钝化与锐化 416
13.3.8小波分析用于图像融合 418
13.3.9小波分析用于图像分解 420
13.4本章小结 422
第14章 Simulink仿真基础 423
14.1 Simulink概述 424
14.1.1 Simulink的基本概念 424
14.1.2 Simulink的工作环境与启动 426
14.1.3 Simulink模型的特点 427
14.1.4 Simulink模块的组成 429
14.1.5 Simulink中的数据类型 430
14.1.6 Simulink中的模块和模块库 433
14.1.7 Simulink常用工具 438
14.1.8 Simulink的实例演示 439
14.2 Simulink模型创建 441
14.2.1 Simulink模块的基本操作 442
14.2.2模型和模型文件 445
14.2.3创建模型的基本步骤和技巧 447
14.3过零检测和代数环 450
14.3.1过零检测 450
14.3.2代数环 452
14.4本章小结 453
第15章 Simulink仿真应用 455
15.1子系统的创建和封装 456
15.1.1子系统介绍 456
15.1.2创建子系统 457
15.1.3封装子系统 458
15.2仿真模型的分析 462
15.2.1模型状态的确定 462
15.2.2线性化的数学描述 464
15.2.3平衡点分析 465
15.2.4微分方程的求解算法 466
15.3运行仿真 467
15.3.1启动仿真 467
15.3.2仿真的配置 470
15.3.3优化仿真过程 475
15.4模型调试 477
15.4.1 Simulink调试器 477
15.4.2命令行调试及设置断点 478
15.5 Simulink实例应用 479
15.6本章小结 484
第4部分 485
第16章 句柄图形对象 485
16.1句柄图形对象体系 486
16.1.1句柄图形组织 486
16.1.2句柄图形对象类型简介 486
16.2句柄图形对象操作 487
16.2.1创建对象 487
16.2.2访问对象句柄 489
16.2.3复制和删除对象 491
16.2.4控制图形输出 492
16.2.5保存句柄 496
16.3对象属性设置 496
16.3.1设置属性 497
16.3.2设置默认属性 498
16.3.3通用属性 500
16.4 Figure对象 501
16.4.1 Figure对象介绍 501
16.4.2 Figure对象操作 502
16.5 Axes对象 502
16.5.1标签与外观 503
16.5.2位置 503
16.5.3一图多轴 504
16.5.4坐标轴控制 507
16.5.5线条颜色控制 509
16.5.6绘图操作 509
16.6 Core对象 510
16.6.1 Core对象介绍 510
16.6.2 Core对象创建示例 511
16.7 Plot对象 512
16.7.1 Plot对象介绍 512
16.7.2 Plot对象创建示例 512
16.7.3连接变量 513
16.8 Group对象 513
16.8.1 Group对象介绍 513
16.8.2创建Group对象 514
16.8.3对象变换 514
16.9 Annotation对象 515
16.9.1 Annotation对象介绍 515
16.9.2 Annotation对象使用示例 515
16.10本章小结 516
第17章 图形用户界面 517
17.1图形用户界面介绍 518
17.2图形用户界面控件 518
17.2.1图形用户界面控件的创建 519
17.2.2鼠标动作执行 521
17.2.3事件队列的执行顺序 522
17.2.4回调函数的编写 523
17.3对话框对象 525
17.3.1公共对话框 526
17.3.2一般对话框 529
17.4界面菜单 535
17.4.1菜单建立 535
17.4.2菜单属性 536
17.5编写M文件 537
17.6图形界面创建工具GUIDE 539
17.6.1利用创建工具GUIDE进行GUI设计 539
17.6.2 GUIDE创建的工具 545
17.6.3创建带Uicontrol控件的图形界面 547
17.7本章小结 548