上篇 MATLAB/Simulink基础 3
第1章 MATLAB环境认识与操作 3
1.1 MATLAB环境认识 3
1.1.1 命令窗口 4
1.1.2 命令历史记录(Command History)窗口 6
1.1.3 工作空间(Workspace)窗口 7
1.1.4 MATLAB的帮助使用 9
1.1.5 图形窗口 12
1.1.6 编辑/调试窗口 13
1.2 MATLAB Notebook及其使用 14
1.2.1 MATLAB Notebook的启动 14
1.2.2 Notebook的菜单命令 15
1.2.3 输出单元的格式控制 15
1.2.4 使用M-book模板的技巧 16
本章小结 16
第2章 MATLAB语言基础 17
2.1 MATLAB语言的常量与变量 17
2.1.1 MATLAB语言的常量 17
2.1.2 MATLAB语言的变量 18
2.2 MATLAB语言的运算符 19
2.2.1 算术运算符 19
2.2.2 关系运算符 19
2.2.3 逻辑运算符 19
2.3 MATLAB语言的数据类型 20
2.3.1 MATLAB语言的数据类型概述 20
2.3.2 稀疏矩阵 20
2.3.3 单元数组 24
2.3.4 结构数组 27
2.4 MATLAB语言的基本语句结构 30
2.4.1 直接赋值语句 30
2.4.2 调用函数语句 31
本章小结 31
第3章 MATLAB的数值运算与符号运算基础 32
3.1 数组与矩阵的基本操作 32
3.1.1 数组与矩阵的输入 32
3.1.2 数组与矩阵元素的操作 36
3.1.3 数组与矩阵的输出 38
3.2 MATLAB的基本数值运算 40
3.2.1 算术运算 40
3.2.2 关系运算 44
3.2.3 逻辑运算 45
3.2.4 运算优先级 47
3.3 MATLAB的基本符号运算 47
3.3.1 符号运算基本函数 48
3.3.2 符号代数方程和微分方程的求解 49
3.3.3 符号微积分运算 52
3.3.4 Laplace变换及其反变换、Z变换及其反变换 53
3.3.5 MuPAD Notebook简介 55
本章小结 56
第4章 MATLAB语言的程序设计 57
4.1 MATLAB语言的流程结构 57
4.1.1 if,else和elseif组成的条件转移结构 57
4.1.2 switch,case和otherwise组成的开关结构 58
4.1.3 while/for循环结构 58
4.1.4 try和catch组成的试探结构 59
4.1.5 MATLAB程序设计举例 60
4.2 MATLAB函数的编写 63
4.2.1 MATLAB函数的基本结构 64
4.2.2 MATLAB函数编写举例 66
4.3 MATLAB程序设计中应注意的问题 69
本章小结 70
第5章 MATLAB语言的绘图基础 71
5.1 二维图形的绘制 71
5.1.1 绘制二维图形的基本函数及示例 71
5.1.2 图形的修饰及示例 73
5.1.3 多图绘制函数及示例 78
5.1.4 特殊应用二维图形的绘制 83
5.2 三维图形的绘制 85
5.2.1 三维图形绘制函数 85
5.2.2 三维图形绘制举例 85
5.3 图形的图形化编辑 87
5.4 符号函数绘制图形 88
5.4.1 符号函数绘制图形的函数及示例 88
5.4.2 符号函数的图形化绘制方式 89
本章小结 90
第6章 MATLAB GUI程序设计初步 91
6.1 GUI设计工具GUIDE简介 91
6.1.1 GUIDE的启动 91
6.1.2 GUI的创建 91
6.2 GUI程序设计示例 93
6.2.1 “Hello World”程序的设计 93
6.2.2 控制系统典型环节的演示程序 95
本章小结 99
第7章 MATLAB的仿真集成环境——Simulink 100
7.1 Simulink概述 100
7.2 Simulink的基本界面操作 100
7.3 Simulink的功能模块及其操作 103
7.3.1 Simulink的功能模块 103
7.3.2 功能模块的基本操作 109
7.3.3 功能模块的连接操作 111
7.4 Simulink仿真环境的设置 112
7.5 子系统及封装技术 113
7.5.1 子系统的建立 114
7.5.2 子系统的封装 115
7.6 用Simulink建立系统模型示例 118
7.7 Simulink的高级应用——S-函数的编写 121
7.7.1 S-函数的工作原理 122
7.7.2 S-函数的设计实例 127
本章小结 133
第8章 MATLAB/Simulink与Arduino交互控制 134
8.1 Arduino简介 134
8.1.1 Arduino及其特点 134
8.1.2 Arduino硬件资源 135
8.1.3 Arduino开发环境 136
8.1.4 Arduino开发举例 137
8.2 MATLAB/Simulink对Arduino的开发支持 140
8.2.1 MATLAB/Simulink支持包的安装 140
8.2.2 MATLAB对Arduino的支持(Arduino Support from MATLAB) 141
8.2.3 Simulink对Arduino的支持(Arduino Support from Simulink) 141
8.3 MATLAB/Simulink与Arduino交互控制举例 143
8.3.1 MATLAB与Arduino交互控制举例 143
8.3.2 Simulink与Arduino交互控制举例 146
本章小结 149
下篇 控制系统的MATLAB仿真 153
第9章 自动控制及其仿真概述 153
9.1 自动控制系统概述 153
9.1.1 自动控制系统的基本形式及特点 153
9.1.2 自动控制系统的分类 154
9.1.3 对自动控制系统的要求及性能评价 154
9.2 控制系统仿真概述 154
9.2.1 仿真的基本概念 154
9.2.2 仿真的不同分类 155
9.2.3 仿真技术的应用及发展 156
9.2.4 计算机仿真的要素及基本步骤 157
9.2.5 控制系统仿真软件 158
本章小结 158
第10章 基于MATLAB的控制系统数学建模 159
10.1 控制系统的传递函数模型 159
10.1.1 系统传递函数模型简述 159
10.1.2 传递函数的MATLAB相关函数 160
10.1.3 建立传递函数模型实例 161
10.2 控制系统的零极点函数模型 164
10.2.1 零极点函数模型简述 164
10.2.2 零极点函数的MATLAB相关函数 165
10.2.3 建立零极点函数模型实例 165
10.3 控制系统的状态空间函数模型 169
10.3.1 状态空间函数模型简述 169
10.3.2 状态空间函数的MATLAB相关函数 169
10.3.3 建立状态空间函数模型实例 170
10.4 系统模型之间的转换 172
10.4.1 系统模型转换的MATLAB相关函数 172
10.4.2 系统模型之间转换实例 173
10.5 方框图模型的连接化简 178
10.5.1 方框图模型的连接化简简述 178
10.5.2 系统模型连接化简的MATLAB相关函数 180
10.5.3 系统模型连接化简实例 180
10.6 Simulink图形化系统建模实例 184
本章小结 185
第11章 控制系统的稳定性分析 186
11.1 系统稳定性的MATLAB直接判定 187
11.1.1 MATLAB直接判定的相关函数 187
11.1.2 MATLAB直接判定实例 187
11.2 系统稳定性的MATLAB图形化判定 190
11.2.1 MATLAB图形化判定的相关函数 190
11.2.2 MATLAB图形化判定实例 190
11.3 MATLAB LTI Viewer稳定性判定实例 192
本章小结 195
第12章 控制系统的时域分析 196
12.1 控制系统的动态性能指标分析 196
12.1.1 控制系统的动态性能指标 196
12.1.2 控制系统动态性能指标MATLAB求取实例 197
12.2 控制系统的稳态性能指标分析 204
12.2.1 系统的稳态性能指标 204
12.2.2 控制系统稳态性能指标MATLAB求取实例 204
12.3 MATLAB时域响应仿真的典型函数应用 207
12.3.1 MATLAB时域响应仿真的典型函数 207
12.3.2 MATLAB时域响应仿真的典型函数应用实例 207
12.4 MATLAB/Simulink图形化时域分析 212
12.4.1 MATLAB LTI Viewer时域分析实例 212
12.4.2 Simulink时域分析实例 215
本章小结 217
第13章 控制系统的根轨迹分析与校正 218
13.1 控制系统的根轨迹法分析 220
13.1.1 MATLAB根轨迹分析的相关函数 220
13.1.2 MATLAB根轨迹分析实例 220
13.2 控制系统的根轨迹法校正 233
13.2.1 根轨迹法超前校正及基于MATLAB的实例 234
13.2.2 根轨迹法滞后校正及基于MATLAB的实例 238
13.3 MATLAB图形化根轨迹法分析与设计 242
13.3.1 MATLAB图形化根轨迹法分析与设计工具rltool 242
13.3.2 基于图形化工具rltool的系统分析与设计实例 244
本章小结 246
第14章 控制系统的频域分析与校正 247
14.1 控制系统的频域分析 248
14.1.1 频率特性及其表示 248
14.1.2 MATLAB频域分析的相关函数 248
14.1.3 MATLAB频域分析实例 249
14.2 基于频域法的控制系统稳定性能分析 258
14.2.1 频域法的稳定性判定和稳定裕度概述 258
14.2.2 基于频域法的控制系统稳定性判定相关函数 259
14.2.3 MATLAB频域法稳定性判定实例 260
14.3 控制系统的频域法校正 266
14.3.1 频域法超前校正及基于MATLAB的实例 266
14.3.2 频域法滞后校正及基于MATLAB的实例 271
14.3.3 频域法滞后-超前校正及基于MATLAB的实例 276
本章小结 282
第15章 控制系统的PID控制器设计 283
15.1 PID控制器概述 283
15.2 PID控制器作用分析 284
15.2.1 比例控制作用举例分析 284
15.2.2 比例微分控制作用举例分析 285
15.2.3 积分控制作用举例分析 288
15.2.4 比例积分控制作用举例分析 290
15.2.5 比例积分微分控制作用举例分析 291
15.3 PID控制器设计举例 295
15.3.1 PID控制器参数整定方法 295
15.3.2 PID控制器设计举例 296
本章小结 300
第16章 非线性控制系统分析 301
16.1 非线性系统概述 301
16.2 相平面法 302
16.2.1 相平面法概述 302
16.2.2 基于MATLAB的相轨迹图绘制示例 302
16.3 描述函数法 304
16.3.1 描述函数法概述 304
16.3.2 基于MATLAB的描述函数法非线性系统分析示例 305
本章小结 307
第17章 课程设计综合实例 308
17.1 课程设计作品1——系统的滞后超前频域法校正 308
17.1.1 设计目的 308
17.1.2 设计任务 308
17.1.3 具体要求 308
17.1.4 设计原理概述 308
17.1.5 设计方案及分析 309
17.1.6 结束语 320
17.1.7 参考文献 320
17.2 课程设计作品2——系统的根轨迹法超前校正 320
17.2.1 设计目的 320
17.2.2 设计任务 321
17.2.3 具体要求 321
17.2.4 设计原理及EDA工具选择 321
17.2.5 系统校正及结果分析 323
17.2.6 结束语 328
17.2.7 参考文献 328
参考文献 329