本书以自动控制原理的核心内容为背景,由浅入深介绍基于MATLAB语言编程和基于Simulink模块编程的仿真实验与分析方法。第2~8章介绍MATLAB语言编程与分析方法;第9章介绍Simulink建模与分析方法。内容包括控制理论的基本仿真与分析方法和工程意义下的应用仿真分析方法。基本仿真可作为控制理论课程实践的基本内容。应用仿真可作为控制理论的扩展部分及工程应用参考,为后续专业学习打下基础。本书注重介绍MATLAB函数命令格式、具体功能、一般特点、内在联系和使用方法与技巧,并通过大量实例进行详细解读、过程分析与归纳说明,以便于读者自学和上机实验。每章附有习题和实验练习,可满足相关专业不同层次的教学与实践需求。
前言
随着科学技术应用的综合性、复杂性和广泛性的不断提升,控制理论及其相关技术应用的研究成本与实施风险也越来越高。在教学方面,也要求教学实验设施能与时俱进、不断更新,以确保教学实践水平能紧跟时代不断提高。在实验设施更新成本高、投入周期长,但使用周期短的情况下,借助计算机进行辅助研究与虚拟实验的方法来降低成本、减小风险、提高效率,已成为当今教学、科研与工程应用中普遍采用的预研方法之一。在众多的计算机仿真软件中,MATLAB集数学计算、图形绘制及系统仿真于一体,涉及领域广、运算功能强,已成为教学、学术与工程界公认和广泛采用的仿真软件之一。目前,许多涉及数学计算与建模分析和工程应用的教材中,正在不断引入基于MATLAB应用的仿真内容。
MATLAB属于高级语言,可分为语句编程和模块(或结构)编程。前者属于数学运算类编程,基础性强、涉及面广、应用灵活;后者属于专业应用类编程,专业性强、建模直观、效率高。两者都可以达到同样的目的,只是在编程路线和表现形式上不同。在语句编程中,语言格式可以分为一般性函数命令格式(常用数学函数语言)和专业函数命令格式(专业性函数语言)。模块编程是由模块选择、模块参数设置及模块间信号连接3个主要部分组成的,相对独立地集成在MATLAB软件中的名为Simulink的环境中,所以模块编程通常称为Simulink仿真。模块编程后的仿真结果可以作为数据源提供给语句编程和仿真时使用。
由于MATLAB的特点,如果只是将MATLAB简单地引入教学,会造成专业内容的逻辑性与MATLAB语言的功能性之间的矛盾。如自动控制理论包括经典控制理论和现代控制理论,所涉及的系统又分为连续系统和离散系统。而许多MATLAB函数命令不仅适用于经典控制也适用于现代控制,不仅适合连续系统也适合离散系统,其差异只是在于函数命令格式中的参数设置上。另外,不同理论的分析方法之间还存在着相互联系(如经典与现代,连续与离散之间的模型转换与响应)。所以在初学时容易产生概念理解与使用方法上的混淆。多年的教学实践表明,MATLAB的学习必须立足于围绕课程内容,实行渐进式学习和实践来掌握MATALB,才能学以致用,取得良好效果。
本书编写的主要特点体现在:以自动控制原理的教学内容为主线,按照教学章节由浅入深地介绍MATLAB的基本仿真方法和使用技巧;以表格方式注重介绍函数命令格式的一般性和特定功能性;在给出与知识点相关联的MATLAB函数命令格式及其功能说明的基础上,以例题及其多种实现方法来阐述函数命令格式的具体使用方法与技巧;全书力求既体现专业教学内容的逻辑性,又体现MATLAB辅助应用的灵活性,既强调函数命令的通用性,更注重函数命令格式的具体化和实用性。书中第2~8章主要介绍基于MATLAB的自控系统仿真模型搭建与分析方法,并通过仿真实例加以详细说明;第9章与前几章相对应,简要介绍Simulink模块编程、仿真实验与分析的基本方法,以利于对两种编程方法的对应理解和灵活掌握。全书内容体现由浅入深、先易后难的渐进式讲解方法。其中的基本仿真方法可作为与控制理论课程配套的实验内容,复杂仿真方法可作为控制理论工程应用的扩展部分。每章后附有对应的习题和实验练习,以适应相关专业和不同层次的教学需求。
本书第1~8章由刘超执笔完成并负责全书的编辑,第9章由高双执笔完成并负责全书的校对。在稿件整理上得到孙银魁、郭策、程阔、王瑞东、京晋东、刘啸、郭子阳、任超、张瑞津的帮助,在此一并表示感谢!
由于作者水平有限,在编写过程中难免存在疏漏之处,诚请专家学者和广大读者给予批评指正。
前言
第1章 MATLAB仿真简介
1.1 MATLAB软件及其自动控制原理仿真
1.2 基于MATLAB的编程
1.2.1 基于MATLAB的语言编程
1.2.2 基于MATLAB的Simulink模块编程
第2章 线性连续系统模型的生成、转换与简化
2.1 连续系统模型的生成
2.1.1 生成模型的常用函数命令
2.1.2 有理多项式分式传递函数模型的建立
2.1.3 零极点传递函数模型的建立
2.1.4 二阶系统模型
2.1.5 其他模型的生成
2.2 系统模型的转换
2.2.1 常用模型转换的函数命令
2.2.2 多项式传递函数模型与零极点增益模型之间的转换
2.3 模型的变换与简化
2.3.1 简单模型结构的变换与简化
2.3.2 复杂模型结构的变换与简化
2.4 习题与实验
2.4.1 习题
2.4.2 实验
第3章 线性系统的时域分析
3.1 时域分析的拉普拉斯变换法
3.1.1 连续时间函数的拉普拉斯变换
3.1.2 时域函数的拉氏反变换法
3.1.3 时域函数的部分分式展开法
3.2 时域分析的函数命令
3.3 习题与实验
3.3.1 习题
3.3.2 实验
第4章 线性系统的根轨迹分析
4.1 根轨迹分析的基本思想
4.2 根轨迹分析的函数命令
4.3 根轨迹分析法
4.4 增加零、极点对系统性能的影响
4.4.1 增加零点的影响
4.4.2 增加极点的影响
4.5 根轨迹法设计系统
4.6 由开环根轨迹判断闭环系统的稳定性
4.7 习题与实验
4.7.1 习题
4.7.2 实验
第5章 频率特性分析
5.1 频域分析的函数命令
5.2 频率特性绘制
5.2.1 Nyquist曲线和Bode图
5.2.2 闭环频率特性的Nichols(尼科尔斯)图
5.3 频率特性分析
5.3.1 稳定性分析
5.3.2 系统性能指标的估算
5.3.3 系统的频域设计
5.4 习题与实验
5.4.1 习题
5.4.2 实验
第6章 线性系统的校正
6.1 线性系统校正概述
6.2 串联校正
6.2.1 串联超前校正
6.2.2 串联滞后校正
6.2.3 串联滞后-超前校正
6.3 并联校正
6.3.1 并联校正的一般方法
6.3.2 综合法反馈校正
6.4 前馈校正
6.5 复合校正
6.6 线性连续系统的PID校正
6.6.1 PID校正的一般结构及其物理实现
6.6.2 PID控制器的作用
6.6.3 PID控制器的工程最优设计
6.6.4 PID参数整定方法
6.7 习题与实验
6.7.1 习题
6.7.2 实验
第7章 离散系统分析与设计
7.1 离散系统建模
7.1.1 离散系统的模型表示
7.1.2 离散系统传递函数模型的建立
7.2 离散系统模型的转换
7.2.1 利用专用函数命令转换
7.2.2 利用Z变换实现离散序列模型转换
7.3 离散系统分析
7.3.1 离散系统响应
7.3.2 离散系统稳定性判断
7.3.3 采样周期与开环增益对稳定性的影响
7.3.4 采样器和采样保持器对动态性能的影响
7.4 离散系统设计
7.4.1 离散系统的一般设计方法
7.4.2 离散系统的PID设计方法
7.4.3 数字控制器的实现
7.5 习题与实验
7.5.1 习题
7.5.2 实验
第8章 线性系统状态空间分析
8.1 状态空间模型的建立与转换
8.1.1 状态空间模型的生成
8.1.2 状态空间模型的转换与化简
8.2 状态模型的可控性、可观性及规范性
8.3 状态模型的连接
8.4 状态空间系统的动态分析
8.4.1 状态空间系统的时域分析
8.4.2 状态空间系统的频域分析
8.5 状态空间系统设计
8.5.1 状态反馈与极点配置设计
8.5.2 输出反馈与极点配置设计
8.5.3 状态观测器设计
8.5.4 降维状态观测器及状态反馈设计
8.6 线性二次型最优控制器设计
8.7 状态空间系统的稳定性分析
8.8 习题与实验
8.8.1 习题
8.8.2 实验
第9章 基于Simulink的系统建模与仿真分析
9.1 Simulink的基本操作
9.1.1 Simulink的启动及模块库的打开
9.1.2 Simulink模型编辑窗口的启动
9.1.3 Simulink仿真模型的编辑与保存
9.1.4 系统仿真运行
9.2 Simulink模块库及其分类
9.2.1 输入模块
9.2.2 输出模块
9.2.3 功能运算模块
9.3 基于Simulink的时域特性分析
9.3.1 一阶系统的时间响应
9.3.2 二阶系统的时间响应
9.3.3 高阶系统的时间响应
9.3.4 稳定性与稳态误差
9.3.5 Simulink在时域分析中的综合应用
9.4 PID控制器设计
9.4.1 比例(P)控制
9.4.2 比例积分(PI)控制
9.4.3 比例微分(PD)控制
9.4.4 比例积分微分(PID)控制
9.4.5 PID控制器参数的整定
9.5 离散系统的Simulink建模与分析
9.5.1 离散系统的Simulink建模方法
9.5.2 离散系统的Simulink分析
9.6 状态空间的Simulink建模与分析
9.6.1 状态空间的Simulink建模方法
9.6.2 状态空间的Simulink分析
9.7 习题与实验
9.7.1 习题
9.7.2 实验
参考文献