1 绪论 1
1.1 概述 1
1.2 计算机仿真技术的发展概况 2
1.3 计算机辅助设计控制系统的形成与发展 2
1.4 Matlab语言与数字仿真及计算机辅助设计 3
习题与思考题1 3
2 Matlab语言简介 4
2.1 Matlab概述 4
2.1.1 Matlab语言的产生与发展 4
2.1.2 Matlab语言的特点 5
2.1.3 Matlab 6.5的新特点 7
2.2 Matlab语言的基本使用环境 8
2.3 Matlab 6.5的安装与启动 8
2.3.1 Matlab的安装和内容选择 8
2.3.2 Matlab的启动 9
2.3.3 Matlab的联机帮助与电子版手册 10
2.4 Matlab语言与工具箱Toolbox 12
习题与思考题2 13
3 Matlab语言程序设计基础 14
3.1 Matlab语言的数据结构 14
3.1.1 Matlab的变量类型与基本表达式 14
3.1.2 Matlab中的矩阵 15
3.1.3 多维数组的定义 17
3.1.4 Matlab的结构数组 19
3.1.5 Matlab单元数组 20
3.2 矩阵函数与矩阵运算 22
3.2.1 矩阵的代数运算 22
3.2.2 矩阵的逻辑运算 25
3.2.3 矩阵的比较关系 27
3.2.4 矩阵元素的数据变换 28
3.3 数组函数与数组运算 30
3.3.1 数组和矩阵的区别 30
3.3.2 数组加、减、乘、除和乘方 30
3.3.3 数组函数 32
3.4 Matlab程序结构 34
3.4.1 循环结构 34
3.4.2 条件转移结构 36
3.4.3 开关结构 38
3.4.4 试探式语句结构 38
3.5 Matlab语言的M函数 39
3.5.1 M函数的基本结构 39
3.5.2 可变输入输出个数的处理 42
3.5.3 M函数的跟踪调试 42
3.6 Matlab语言下多维图形绘制方法 44
3.6.1 二维图形绘制方法 44
3.6.2 Matlab图形的标注与编辑 46
3.6.3 特殊曲线及图形的绘制方法 52
3.6.4 三维图形的绘制方法 54
3.6.5 图形与图像的编辑与处理 58
3.7 Matlab图形用户界面设计简介 59
3.7.1 图形界面设计工具Guide介绍 60
3.7.2 Matlab图形界面设计举例 65
习题与思考题3 72
4 连续系统的数字仿真 75
4.1 连续系统的数学模型 75
4.1.1 微分方程 75
4.1.2 传递函数 75
4.1.3 状态空间描述 76
4.2 数值积分法 80
4.2.1 欧拉法(折线法) 80
4.2.2 梯形法 81
4.2.3 龙格-库塔法 82
4.3 过程控制系统的数值积分法直接仿真 84
4.3.1 基本方法 84
4.3.2 纯滞后环节的数字仿真 88
4.3.3 数字仿真程序举例 90
4.4 基于微分方程求解的连续系统仿真 90
4.4.1 模型以一阶微分方程组形式给出的系统仿真 90
4.4.2 模型以传递函数形式给出的系统仿真 92
4.4.3 标准单输入、单输出线性状态方程仿真程序块 93
4.4.4 传递函数形式表示的闭环系统仿真 94
4.5 面向结构图的线性系统仿真 96
4.5.1 面向结构图的数字仿真的优点 96
4.5.2 如何实现面向结构图的数字仿真 96
4.5.3 面向结构图的线性系统数字仿真程序 97
4.6 关于计算步距的选择 101
4.7 连续系统的离散化 103
4.8 信号重构器的特性及传递函数 104
4.8.1 零阶信号重构器 104
4.8.2 一阶信号重构器 105
4.8.3 三角形信号重构器 105
4.9 常用环节的离散相似模型 106
4.9.1 积分环节 106
4.9.2 惯性环节 107
4.10 连续系统按结构图的离散相似法仿真 107
习题与思考题4 109
5 采样控制系统的数字仿真 110
5.1 数字式PID控制算式 110
5.1.1 PID控制器的理想算式 110
5.1.2 PID控制器的实用算式 111
5.2 采样控制系统的数值积分法仿真 113
5.3 采样控制系统的离散法仿真 114
5.3.1 只要求计算系统输出y(t)时的情形 114
5.3.2 要求计算被控制对象中的状态量时的情形 115
习题与思考题5 116
6 计算机辅助过程辨识及建模 117
6.1 概述 117
6.2 时域法过程辨识与建模 118
6.2.1 由飞升曲线确定一阶环节的参数 118
6.2.2 由飞升曲线确定二阶非振荡环节的参数 120
6.2.3 由飞升曲线确定二阶振荡环节的参数 122
6.3 频域法过程辨识与建模 124
6.3.1 由系统脉冲过渡函数g(t)计算频率特性 124
6.3.2 由系统的频率特性拟合传递函数 126
6.4 最小二乘估计过程辨识与建模 132
6.4.1 最小二乘估计的批处理算法 133
6.4.2 最小二乘估计的递推算法 134
6.4.3 广义最小二乘估计算法 137
习题与思考题6 140
7 过程控制系统参数最优化的计算机辅助设计 141
7.1 参数最优化 141
7.2 单变量寻优技术 142
7.2.1 黄金分割法(0.618法) 142
7.2.2 进退法 144
7.3 多变量寻优技术 144
7.3.1 最速下降法 144
7.3.2 共轭梯度法 147
7.3.3 坐标轮换法 150
7.4 计算机辅助调节器参数优化设计 150
7.4.1 控制系统的品质指标(目标函数) 150
7.4.2 数字PI调节器参数最优化设计与仿真寻优程序 151
习题与思考题7 153
8 图形化系统建模与仿真工具Simulink 154
8.1 图形化建模与仿真 154
8.2 Simulink 5.0基本模块库 154
8.2.1 Simulink 5.0常用模块组 156
8.2.2 其他模块组 163
8.3 基于Simulink的控制系统框图模型建立方法 165
8.3.1 模型窗口建立 165
8.3.2 模块的连接与简单处理 165
8.3.3 模块参数的设置与修正 168
8.3.4 Simulink模块的联机帮助与模型的输出打印 170
8.4 Simulink仿真环境的设置与仿真系统的启动 172
8.5 基于Simulink的控制系统仿真举例 175
8.6 S-函数模块与S-函数的编写 181
8.6.1 用Matlab语言编写S-函数的方法 182
8.6.2 用C语言编写S-函数的方法 183
习题与思考题8 183
9 基于Matlab/Toolbox的控制系统分析与设计 185
9.1 Matlab有关控制的工具箱 185
9.2 基于Matlab的线性系统的仿真与设计 188
9.2.1 关于线性系统的数学模型 188
9.2.2 关于线性连续系统的解析解 189
9.2.3 关于线性系统频域分析 190
9.3 基于Matlab的倒摆系统设计 191
9.4 基于人工神经网络的非线性系统建模 195
9.4.1 部分神经网络工具箱函数 195
9.4.2 Matlab在神经网络建模中的应用举例 197
习题与思考题9 200
10 基于Matlab的实时仿真与实时控制 201
10.1 Matlab程序接口 201
10.1.1 MEX文件 201
10.1.2 MAT文件 202
10.1.3 Matlab计算引擎 202
10.1.4 编译器简介 202
10.2 Simulink环境下的实时仿真与实时控制 203
10.2.1 Simulink仿真的实时工具RTW 203
10.2.2 实时开发工具xPC Target 205
10.2.3 基于Matlab/Simulink的实时控制举例 207
习题与思考题10 208
附录A Matlab的函数及命令 209
附录B Matlab工具箱(Toolbox)函数 220
参考文献 228