1.1 自动控制概述 1
1.1.1 自动控制的概念 1
1.1.2 自动控制原理的内容 1
第1章 自动控制原理MATLAB实现概述 1
1.1.3 自动控制系统的分类 2
1.2 反馈控制系统的基本概念 2
1.2.1 自动控制系统的基本控制方式 2
1.3 自动控制原理的MATLAB实现 3
1.3.1 先进的软件系统MATLAB 3
1.2.3 对控制系统的性能要求 3
1.2.2 分析自动控制系统工作原理的方法 3
1.3.2 自动控制原理的MATLAB实现的特点 6
习题 6
上篇 MATLAB计算及仿真基础 9
第2章 MATLAB 7.1系统概述 9
2.1 MATLAB 7.1安装与启动 9
2.1.1 MATLAB 7.1的安装 9
2.1.2 Notebook的安装 13
2.1.3 MATLAB 7.1的启动 13
2.1.4 Notebook的启动 14
2.2.1 MATLAB 7.1系统的4个小窗口 15
2.2 MATLAB 7.1的系统界面 15
2.2.2 MATLAB 7.1的命令窗口(Command Window) 16
2.2.3 MATLAB 7.1菜单项命令 17
2.2.4 MATLAB 7.1工具栏按钮 23
2.2.5 Start开始按钮 23
2.3 MATLAB 7.1的内容及其查找 24
2.3.1 MATLAB 7.1的内容 24
2.3.2 MATLAB 7.1内容的查找 26
2.3.3 MATLAB 7.1的work子目录 28
2.4.2 Notebook的使用 29
2.4.1 Notebook菜单命令简介 29
2.4 MATLAB的文字处理工具Notebook 29
2.4.3 Notebook使用的几个问题 30
习题 31
第3章 MATLAB数值运算 32
3.1 MATLAB的数值运算基础 32
3.1.1 常量 32
3.1.2 变量 33
3.1.3 MATLAB运算符 33
3.2 MATLAB的数组、矩阵运算 36
3.2.1 数组、矩阵的概念 36
3.2.2 数组或矩阵元素的标识 37
3.2.3 数组与矩阵的输入 39
3.2.4 数组、矩阵的算术运算 41
3.2.5 向量及其运算 47
3.2.6 矩阵的特有运算 50
3.2.7 数组的关系运算 58
3.2.8 数组的逻辑运算 59
3.2.9 特殊字符数组——字符串 60
3.3 MATLAB的数组函数与矩阵函数 60
3.3.1 数组函数 60
3.3.2 矩阵函数 62
3.4 多项式及其运算 65
3.4.1 多项式运算函数 65
3.4.2 多项式运算举例 65
3.5 MATLAB的数学表达式及其书写 68
3.5.1 MATLAB的数学表达式 68
3.5.2 MATLAB数学表达式的书写 68
习题 69
第4章 MATLAB符号运算基础 71
4.1 MATLAB符号运算概述 71
4.1.1 MATLAB符号运算入门 71
4.1.2 MATLAB符号运算的几个基本概念 72
4.3 MATLAB符号运算的基本函数 74
4.2 MATLAB符号对象的基本运算与关系运算 74
4.3.1 符号变量代换及其函数subs() 75
4.3.2 符号对象转换为数值对象的函数double()、digits()、vpa()、numeric() 75
4.3.3 MATLAB符号表达式的化简 76
4.4 MATLAB符号微积分运算 77
4.4.1 MATLAB符号极限运算 78
4.4.2 MATLAB的符号函数微分运算 78
4.4.3 MATLAB符号函数积分运算 79
4.4.4 符号求和函数与Taylor(泰勒)级数展开函数 80
4.5.1 矩阵的微分与积分 82
4.5 MATLAB符号矩阵的几种特殊运算 82
4.5.2 Jacobian矩阵 83
4.5.3 矩阵的Jordan标准形 84
4.6 MATLAB符号方程求解 85
4.6.1 MATLAB符号代数方程求解 85
4.6.2 MATLAB符号微分方程求解 86
4.7 复变函数计算的MATLAB实现 88
4.7.1 复数的概念 88
4.7.2 MATLAB关于复变量的函数命令 88
4.7.3 复数的生成与创建复矩阵 89
4.7.4 复数的几何表示 90
4.7.5 复数代数运算的MATLAB实现 92
4.7.6 复数计算在自动控制系统频率特性计算中的应用 94
习题 95
第5章 MATLAB程序设计 98
5.1 M文件、MATLAB函数与MATLAB程序 98
5.1.1 M文件 98
5.1.2 MATLAB函数 98
5.1.3 MATLAB命令文件或程序 101
5.2.1 MATLAB程序设计基本规则 102
5.2 MATLAB程序设计基础 102
5.2.2 表达式、表达式语句与赋值语句 103
5.2.3 程序流程控制语句 103
5.2.4 程序流程控制指令 109
5.3 MATLAB程序的交互式、调试与警示指令 110
5.3.1 MATLAB程序的交互式指令 110
5.3.2 MATLAB程序的调试指令 111
5.3.3 MATLAB程序的常用警示指令 112
5.4 MATLAB程序设计再举例 112
习题 116
6.1.1 绘图函数plot() 117
第6章 MATLAB常用图形命令与符号函数图形命令 117
6.1 MATLAB的常用图形命令 117
6.1.2 绘图坐标系的调整 118
6.1.3 图形标注 118
6.1.4 多次重叠绘制图形 120
6.1.5 图形窗口的分割 122
6.2 MATLAB的特殊坐标绘图函数 122
6.2.1 对数坐标曲线 122
6.2.2 极坐标曲线 124
6.2.3 双y轴坐标曲线 124
6.2.4 复数的图形曲线 125
6.3 MATLAB离散数据与步进图形的绘图函数 126
6.3.1 MATLAB绘制离散数据图形的函数命令stem() 126
6.3.2 MATLAB绘制步进图形的函数命令stairs() 127
6.4 MATLAB符号函数的图形命令 128
6.4.1 符号函数的简捷绘图函数命令ezplot() 128
6.4.2 符号函数的绘图函数命令fplot() 131
6.4.3 符号函数的极坐标绘图函数命令ezpoar() 132
习题 132
7.1 Simulink仿真特色与其模型窗口 133
7.1.1 Simulink仿真特色 133
第7章 MATLAB 7.1的仿真集成环境Simulink 6.3 133
下篇 自动控制原理的MATLAB实现 133
7.1.2 进入MATLAB 7.1的Simulink 6.3 134
7.1.3 Simulink 6.3的模型窗口概述 135
7.2 Simulink 6.3的界面与组成 138
7.2.1 Simulink 6.3功能模块组的打开与关闭 139
7.2.2 Simulink 6.3功能模块的分类及其用途 140
7.2.3 有关Simulink 6.3的几个问题 152
7.3 用Simulink建立系统模型 152
7.3.3 模块的复制、移动与删除 153
7.3.2 模块的查找与选择 153
7.3.1 打开模型窗口的方法 153
7.3.4 模块的连接 154
7.3.5 模块标题名称的修改 156
7.3.6 系统结构图模型标题名称的标注与修改 156
7.3.7 创建模型的取消与复原操作 156
7.3.8 模型文件的保存与打开 156
7.3.9 模型框图的打印 157
7.3.10 Simulink建模注意事项 157
7.4 模块内部参数的设置或修改 157
7.4.1 常用15个模块内部参数的设置或修改 157
7.4.2 用Simulink建立系统模型举例 164
7.5 观察Simulink的仿真结果 165
7.5.1 使用示波器模块观察仿真输出 165
7.5.2 使用To Workspace模块将仿真输出信息返回到MATLAB命令窗口中 167
7.5.3 使用Out1模块将仿真输出信息返回到MATLAB命令窗口中 169
7.6 Simulink的分析工具 170
7.6.1 模型线性化概述 170
7.6.2 连续系统的线性化模型 170
7.6.3 离散系统的线性化模型 171
7.6.4 Simulink平衡点的求取 171
7.6.6 在Simulink里绘制波德(Bode)图与时间响应图 172
7.6.5 Simulink里由状态方程转换成LTI(线性时不变)对象 172
习题 174
第8章 控制系统数学模型的MATLAB实现 176
8.1 LTI三种对象及其属性 176
8.1.1 LTI对象与set()函数 176
8.1.2 三种对象的属性 176
8.2 控制系统数学模型对象的种类及转换 177
8.2.1 控制系统数学模型 177
8.2.2 三种系统数学模型之间的转换 180
8.2.3 第四种系统数学模型对象(Simulink模型) 183
8.3 环节方框图模型的化简 184
8.3.1 环节串联连接的化简 184
8.3.2 环节并联连接的化简 185
8.3.3 环节反馈连接的化简 186
8.4 用系统Simulink模型结构图化简控制系统模型 187
8.5 控制系统三类数学模型及举例 190
习题 195
第9章 连续系统时域分析的MATLAB实现 198
9.1 控制系统时域分析的几个基本概念 198
9.2 Laplace变换及反变换 200
9.2.1 Laplace变换与反变换的概念 200
9.2.2 两个特殊函数的表示法 201
9.2.3 计算函数的Laplace变换 202
9.2.4 计算用图形表示的函数的Laplace变换 203
9.2.5 利用留数将像函数表达式展成部分分式 205
9.2.6 用Laplace反变换求原函数 207
9.2.7 用Laplace变换定义传递函数 209
9.2.8 用Laplace反变换求解微分方程 212
9.3 MATLAB函数指令方式下的时域响应仿真 216
9.3.1 时域响应MATLAB仿真的函数指令格式 216
9.3.2 MATLAB函数指令时域响应仿真示例 219
9.4 利用Simulink动态结构图的时域响应仿真示例 232
9.4.1 利用Simulink动态结构图模型指令方式下的时域响应仿真实例 232
9.4.2 在Simulink窗口里菜单方式下的时域响应仿真实例 234
习题 236
第10章 连续系统稳定性分析的MATLAB实现 240
10.1 控制系统稳定性分析概述 240
10.1.1 控制系统稳定性简述 240
10.1.2 控制系统有关稳定性的几个基本概念 240
10.2 代数稳定判据的MATLAB实现 241
10.3 用根轨迹法判定系统稳定性的MATLAB实现 244
10.4 用频率法判定系统稳定性的MATLAB实现 248
10.4.1 用Bode图判定系统稳定性 248
10.4.2 用Nyquist曲线判定系统稳定性 251
习题 255
第11章 连续系统稳态误差计算的MATLAB实现 257
11.1 控制系统误差(响应)与稳态误差及误差传递函数 257
11.1.1 控制系统误差 257
11.1.2 控制系统稳态误差 257
11.1.3 控制系统稳态误差的计算原理 257
11.1.4 控制系统两个重要概念 258
11.1.5 闭环系统的误差传递函数 258
11.2 控制系统稳态误差的计算 259
11.2.1 控制系统的静态误差系数与动态误差系数 259
11.2.2 三种典型信号给定输入作用下的稳态误差 263
11.2.3 典型外作用信号下的给定输入响应与其稳态误差曲线的绘制 268
11.2.4 从输出端定义的非单位负反馈系统的误差计算 273
11.2.5 扰动输入作用下的稳态误差计算 274
11.3 控制系统稳态误差计算举例 277
习题 280
第12章 连续系统根轨迹分析的MATLAB实现 282
12.1 有关根轨迹的几个基本概念 282
12.2 控制系统根轨迹分析的MATLAB实现 283
12.2.1 根轨迹分析MATLAB实现的函数指令格式 283
12.2.2 根轨迹分析的MATLAB实现再举例 286
12.3.1 根轨迹设计工具简述 289
12.3 MATLAB基于根轨迹的设计工具 289
12.3.2 根轨迹设计工具示例 290
习题 292
第13章 连续系统频域分析的MATLAB实现 294
13.1 有关频域分析的几个概念 294
13.2 控制系统的频率特性 296
13.3 连续系统频域分析的MATLAB实现 299
13.3.1 频域响应Bode图的函数指令格式及示例 299
13.3.2 频域分析Nyquist曲线的函数指令格式及示例 302
13.3.3 控制系统中延迟特性的处理 304
13.3.4 频域分析Nichols曲线的函数指令格式及示例 307
13.3.5 频域响应的模值裕度与相位裕度函数指令格式及示例 308
习题 314
第14章 连续线性控制系统校正的MATLAB实现 316
14.1 控制系统校正设计概述 316
14.1.1 经典控制系统的校正设计 316
14.1.2 控制系统校正设计的几个概念 316
14.1.3 控制系统的无源校正与有源校正 317
14.1.4 控制系统串联校正的基本思路 317
14.1.5 控制系统校正设计应注意的几个问题 318
14.2.1 Bode图超前校正设计 319
14.2 控制系统Bode图校正设计法 319
14.2.2 Bode图滞后校正设计 326
14.2.3 Bode图滞后—超前校正设计 332
14.3 控制系统根轨迹设计法 336
14.3.1 根轨迹超前校正设计 336
14.3.2 根轨迹滞后校正设计 342
14.4 控制系统PID校正设计法 345
14.4.1 PID调节简述 345
14.4.2 PID调节规律 346
14.4.3 PID调节作用分析 346
14.4.4 PID校正设计方法 349
习题 360
15.1 有关非线性系统分析的几个概念 362
第15章 描述函数法分析非线性系统的MATLAB实现 362
15.2 典型非线性特性的描述函数 364
15.3 描述函数法分析非线性系统的MATLAB实现 365
15.3.1 非线性系统自振分析 365
15.3.2 描述函数法分析非线性系统的MATLAB实现示例 366
习题 379
16.1.1 连续系统与离散系统 381
16.1.2 采样过程与采样定理 381
16.1 离散系统的几个基本概念 381
第16章 离散系统分析的MATLAB实现 381
16.1.3 信号复现与零阶保持器 383
16.2 z变换与z反变换 384
16.2.1 z变换与z反变换的概念 384
16.2.2 MATLAB的z变换函数命令与使用 385
16.2.3 MATLAB的z反变换函数命令与使用 389
16.3 差分方程的z变换解法 391
16.3.1 差分的概念 391
16.3.2 差分方程的概念 392
16.3.3 差分方程的求解 392
16.4.1 脉冲传递函数的概念 393
16.4 离散控制系统的脉冲传递函数 393
16.4.2 开环系统脉冲传递函数及其举例 394
16.4.3 闭环系统脉冲传递函数及其举例 396
16.5 离散系统稳定性分析的MATLAB实现 397
16.5.1 从s平面到z平面的映射 397
16.5.2 z域稳定条件及稳定判据 398
16.5.3 z平面到w平面的映射与在w平面应用稳定判据 399
16.6 单位反馈离散系统稳态误差的MATLAB计算 401
16.6.1 单位阶跃输入作用时的稳态误差 402
16.6.2 单位斜坡函数输入作用时的稳态误差 402
16.6.3 单位加速度函数输入作用时的稳态误差 403
16.7 离散系统动态性能分析的MATLAB实现示例 404
习题 409
第17章 线性系统状态空间分析的MATLAB实现 412
17.1 控制系统状态空间分析的几个基本概念 412
17.2 系统状态空间表达式及其状态方程的解 414
17.2.1 状态空间表达式的建立 414
17.2.2 系统状态方程的解 416
17.2.3 求控制系统的特征方程、特征值及特征向量 418
17.2.4 连续系统状态方程的离散化 420
17.3.1 传递矩阵 422
17.3 系统状态方程的线性变换 422
17.3.2 状态方程的线性变换 423
17.3.3 Vandermonde(范德蒙特)矩阵与Jordan(约当)标准形 426
17.4 线性系统的可控性与可观性 428
17.4.1 线性系统的可控性 428
17.4.2 线性系统的可观测性 434
17.4.3 线性定常系统的实现问题 438
17.5 系统状态反馈与状态观测器 439
17.5.1 系统的输出反馈与闭环系统的传递矩阵 439
17.5.2 系统的状态反馈与闭环系统的状态矩阵 440
17.5.3 系统的极点配置 441
17.5.4 系统的状态观测器 442
17.5.5 系统的状态降维观测器 444
17.6 Lyapunov系统稳定性分析的MATLAB实现 448
17.6.1 系统稳定性概述 448
17.6.2 李亚普诺夫意义下的稳定性理论 449
17.6.3 线性定常系统的李亚普诺夫稳定性分析 450
17.6.4 李亚普诺夫方程的求解 453
习题 455
18.1 最优控制的基本概念 460
18.1.1 最优控制问题 460
第18章 线性二次型最优控制的MATLAB实现 460
18.1.2 最优控制的性能指标 461
18.1.3 最优控制问题的数学分类法 462
18.1.4 最优控制问题的求解方法 463
18.1.5 线性二次型最优控制 463
18.2 连续系统线性二次型最优控制的MATLAB实现 463
18.2.1 连续系统线性二次型最优控制 463
18.2.2 连续系统线性二次型最优控制的MATLAB实现 464
18.2.3 连续系统线性二次型最优控制的MATLAB实现示例 464
18.3 离散系统线性二次型最优控制的MATLAB实现 465
18.3.1 离散系统稳态线性二次型最优控制 465
18.3.2 离散系统线性二次型最优控制的MATLAB实现与示例 466
18.4 最优观测器的MATLAB实现 468
18.4.1 连续时不变系统的Kalman滤波 468
18.4.2 Kalman滤波的MATLAB实现 469
18.4.3 Kalman滤波的MATLAB实现示例 470
18.5 线性二次型Guass最优控制的MATLAB实现 472
18.5.1 LQG最优控制的求解 472
18.5.2 LQG最优控制的MATLAB实现与示例 473
习题 474
附录A 作者编写的MATLAB函数 477
附录B 无源校正网络与有源校正网络 498
参考文献 503