第1章 控制系统及仿真概述 1
1.1 自动控制系统的广泛应用 1
1.1.1 电力拖动自动控制系统的应用 1
1.1.2 工业生产过程自动控制系统的应用 2
1.2 控制系统计算机仿真的基本概念 2
1.2.1 系统计算机仿真 2
1.2.2 控制系统计算机仿真的过程 3
1.3 控制系统 MATLAB 计算及仿真 4
1.3.1 先进的软件 MATLAB 4
1.3.2 控制系统 MATLAB 计算及仿真的优秀性能 7
第2章 MATLAB 程序设计语言 9
2.1 MATLAB 安装与启动 9
2.1.1 MATLAB5.3的安装 9
2.1.2 MATLAB5.3的启动 13
2.1.3 Notebook 的启动 13
2.2 MATLAB 环境 15
2.2.1 MATLAB 的命令窗口 15
2.2.2 MATLAB 的工作空间 23
2.2.3 MATLAB 的变量浏览器 23
2.2.4 MATLAB 的程序编辑器 24
2.2.5 MATLAB 的路径浏览器 25
2.2.6 MATLAB 的 Work 子目录 27
2.2.7 MATLAB 运行外部程序 27
2.3 MATLAB 数值运算基础 28
2.3.1 常量与变量 28
2.3.2 MATLAB 运算符 29
2.3.3 矩阵、数组及其算术运算 31
2.3.4 数组的关系运算与逻辑运算及其数组函数 44
2.3.5 矩阵函数 47
2.3.6 多项式及其运算 50
2.3.7 字符串 53
2.4 M 文件与 MATLAB 函数 54
2.4.1 脚本文件 54
2.4.2 函数文件 54
2.4.3 MATLAB 函数分类 56
2.4.4 MATLAB 函数应用举例 57
2.5 MATLAB 程序设计基础 85
2.5.1 MATLAB 程序设计基本规则 85
2.5.2 表达式、表达式语句与赋值语句 86
2.5.3 MATLAB 程序流程控制 86
2.5.4 MATLAB 程序流程控制指令 93
2.5.5 MATLAB 程序的交互式指令 93
2.5.6 MATLAB 程序的调试指令 95
2.5.7 MATLAB 程序的常用警示指令 97
2.6 MATLAB 文字处理工具 Notebook 97
2.6.1 Notebook 简介 97
2.6.2 创建与打开 M-book 文档 98
2.6.3 Notebook 菜单命令简介 99
2.6.4 Notebook 的使用 100
第3章 MATLAB 仿真集成环境工具 SIMULINK 105
3.1 SIMULINK 仿真工具简介 105
3.1.1 SIMULINK 仿真工具概述 105
3.1.2 SIMULINK for Windows 仿真工具的安装 107
3.1.3 SIMULINK 仿真工具子目录及文件 108
3.2 SIMULINK3.0 的界面与菜单 108
3.2.1 SIMULINK 3.0 的界面形象 108
3.2.2 SIMULINK 功能模块的分类及其用途 109
3.2.3 SIMULINK 模型窗口 116
3.3 用 SIMULINK 建立系统模型 119
3.3.1 模型窗口 119
3.3.2 模块的查找与选择 120
3.3.3 模块的拷贝、移动与删除 121
3.3.4 模块的连接 122
3.3.5 模块标题名称的修改 124
3.3.6 模块内部参数的修改 124
3.3.7 创建模型的复原操作 127
3.3.8 系统模型标题名称的标注 127
3.3.9 模型文件的保存与打开 127
3.3.10 模型框图的打印 128
3.3.11 SIMULINK 建模注意事项 128
3.4 SIMULINK 仿真算法的数学基础 129
3.4.1 微分方程初值问题的数值解法 129
3.4.2 欧拉法 129
3.4.3 数值积分运算的几个概念 130
3.4.4 阿达姆斯法(梯形法)和预估-校正法 131
3.4.5 龙格-库塔法 133
3.4.6 算法精度与稳定性比较 135
3.5 SIMULINK 仿真的数值分析 136
3.5.1 求微分方程数值解的几种算法 136
3.5.2 菜单操作方式下仿真算法选择和参数设置 137
3.5.3 在 MATLAB 命令窗口中的指令工作方式 143
3.6 观察 SIMULINK 的仿真结果 149
3.6.1 使用示波器模块观察仿真输出 149
3.6.2 使用 To Workspace 模块将仿真输出信息返回到 MATLAB 命令窗口 151
3.6.3 使用 out1 模块将仿真输出信息返回到 MATLAB 命令窗口 153
3.7 SIMULINK 的分析工具 154
3.7.1 模型线性化概述 154
3.7.2 连续系统的线性化模型 154
3.7.3 离散系统的线性化模型 155
3.7.4 SIMULINK 平衡点的求取 156
3.7.5 SIMULINK 里由状态方程转换成 LTI(线性时不变系统)对象 156
3.7.6 在 SIMULINK 里绘制波德(Bode)图与时间响应图 156
3.8 SIMULINK 3.0的自定义模块库与自定义子系统 165
3.8.1 自定义模块库与自定义子系统概述 165
3.8.2 SIMULINK 窗口下自定义模块库 165
3.8.3 SIMULINK 窗口下自定义子系统 167
3.9 SIMULINK 的 Mask 功能 171
3.9.1 Mask(封装)概述 171
3.9.2 Mask 编辑器 172
3.9.3 Mask 的 Icon 标签页 172
3.9.4 Mask 的 Initialization 标签页 174
3.9.5 Mask 的 Documentation 标签页 175
3.9.6 Mask 举例 175
3.9.7 Mask 的 Unmask 功能 182
第4章 控制系统 MATLAB 仿真基础 183
4.1 控制系统的数学模型 183
4.1.1 LTI 对象 183
4.1.2 控制系统数学模型的种类与转换 185
4.1.3 环节方框图模型的化简 196
4.1.4 SIMULINK 动态结构图举例 202
4.2 控制系统稳定性分析的 MATLAB 实现 203
4.2.1 控制系统稳定性的有关概念 203
4.2.2 控制系统稳定性的基本概念与分析方法简述 204
4.2.3 稳定性分析 MATLAB 实现的方法与举例 204
4.3 控制系统稳态误差分析的 MATLAB 实现 211
4.3.1 控制系统稳态误差分析的有关概念 211
4.3.2 控制系统稳态误差计算 212
4.3.3 控制系统稳态误差计算举例 213
4.4 控制系统时域分析的 MATLAB 实现 219
4.4.1 自动控制的一些基本概念 219
4.4.2 控制系统时域响应仿真的主要问题 222
4.4.3 时域分析 MATLAB 实现的方法 222
4.4.4 MATLAB 函数指令方式下的时域响应仿真 222
4.4.5 利用 SIMULINK 动态结构图的时域响应仿真 236
4.5 控制系统频域分析的 MATLAB 实现 243
4.5.1 频率特性的有关概念 243
4.5.2 系统频域分析的内容与 MATLAB 仿真的主要问题 245
4.5.3 频域分析 MATLAB 实现的方法 246
4.6 根轨迹分析的 MATLAB 实现 260
4.6.1 有关根轨迹的几个基本概念 260
4.6.2 自动控制系统根轨迹分析 MATLAB 实现的主要问题 261
4.6.3 MATLAB 函数指令方式下根轨迹分析的 MATLAB 实现 261
4.6.4 MATLAB 基于根轨迹的设计工具 270
第5章 自动控制系统的 MATLAB 计算及仿真 276
5.1 简单闭环控制的 MATLAB 计算及仿真 276
5.1.1 自动控制系统的几个基本概念 276
5.1.2 简单闭环控制系统的数学模型 277
5.1.3 简单闭环控制系统的 MATLAB 仿真实例 278
5.1.4 线性时不变系统(LTI)观测器 288
5.2 多闭环控制系统的 MATLAB 计算及仿真 293
5.2.1 多闭环控制系统概述 293
5.2.2 多闭环控制系统的数学模型 294
5.2.3 双闭环调速系统的 MATLAB 计算与仿真实例 294
5.2.4 三环控制系统的 MATLAB 计算与仿真 308
5.3 位置随动系统的 MATLAB 计算仿真 310
5.3.1 位置随动系统的概念 310
5.3.2 位置随动系统的控制特点 311
5.3.3 位置随动系统的分析方法与品质指标 311
5.3.4 位置随动系统 MATLAB 计算及仿真实例 311
5.4 过程控制系统的 MATLAB 计算及仿真 328
5.4.1 生产过程控制的特点 328
5.4.2 过程控制被控对象的动态特性 328
5.4.3 过程控制系统的性能指标 329
5.4.4 过程控制中延迟特性的处理 331
5.4.5 简单回路控制系统的 MATLAB 计算及仿真 333
5.4.6 串级控制系统的 MATLAB 计算及仿真 335
5.4.7 前馈控制系统的 MATLAB 计算及仿真 340
5.4.8 大延迟系统的 MATLAB 计算及仿真 344
第6章 自动控制系统设计 350
6.1 控制系统设计概述 350
6.1.1 经典控制系统的设计 350
6.1.2 控制系统设计的几个概念 350
6.1.3 控制系统的无源校正与有源校正 351
6.1.4 控制系统串联校正的基本思路 351
6.2 控制系统波德图设计法 352
6.2.1 波德图超前校正设计 352
6.2.2 波德图滞后校正设计 361
6.2.3 波德图滞后-超前校正设计 369
6.3 控制系统的根轨迹设计法 379
6.3.1 根轨迹超前校正设计 379
6.3.2 根轨迹滞后校正设计 388
6.4 控制系统 PID 校正器设计法 394
6.4.1 PID 调节简述 394
6.4.2 PID 调节规律 395
6.4.3 PID 调节作用分析 396
6.4.4 PID 校正器设计方法 399
第7章 状态空间分析的 MATLAB 实现 417
7.1 控制系统状态空间分析的几个基本概念 417
7.2 系统状态空间表达式及其状态方程的解 420
7.2.1 状态空间表达式的建立 420
7.2.2 系统状态方程的解 424
7.2.3 连续系统状态方程的离散化 430
7.3 系统状态方程的线性变换 435
7.3.1 传递矩阵 435
7.3.2 状态方程的线性变换 436
7.3.3 范德蒙特矩阵与约当标准形 441
7.4 线性系统的可控性与可观性 444
7.4.1 线性系统的可控性 444
7.4.2 线性系统的可观测性 450
7.4.3 线性定常系统的实现问题 456
7.5 系统状态反馈与状态观测器 457
7.5.1 系统的输出反馈与状态反馈 457
7.5.2 系统的极点配置 459
7.5.3 系统的状态观测器 462
7.5.4 系统的状态降阶观测器 464
7.6 系统稳定性分析的 MATLAB 计算及仿真 468
7.6.1 系统稳定性概述 468
7.6.2 李亚普诺夫意义下的稳定性理论 469
7.6.3 线性定常系统的李亚普诺夫稳定性分析 470
7.6.4 李亚普诺夫方程的求解 471
第8章 线性二次型最优控制的 MATLAB 实现 474
8.1 最优控制的基本概念 474
8.1.1 最优控制问题 474
8.1.2 最优控制的性能指标 475
8.1.3 最优控制问题的数学分类法 476
8.1.4 最优控制问题的求解方法 477
8.1.5 线性二次型最优控制 477
8.2 连续系统线性二次型最优控制的 MATLAB 实现 478
8.2.1 连续系统线性二次型最优控制 478
8.2.2 连续系统线性二次型最优控制的 MATLAB 实现 478
8.3 离散系统稳态线性二次型最优控制的 MATLAB 实现 484
8.3.1 离散系统稳态线性二次型最优控制 484
8.3.2 离散系统稳态线性二次型最优控制的 MATLAB 实现 485
8.4 最优观测器的 MATLAB 实现 489
8.4.1 连续时不变系统的 Kalman 滤波 489
8.4.2 Kalman 滤波的 MATLAB 实现 490
8.5 线性二次型 Guass 最优控制的 MATLAB 实现 493
8.5.1 LQG 最优控制的求解 493
8.5.2 LQG 最优控制的 MATLAB 实现 493
附录 A MATLAB 常用函数 495
附录 B TOOLBOX 基本工具箱函数 512
参考文献 528