第 1章 系统仿真概述 1
1.1 系统和模型 1
1.1.1 系统 1
1.1.2 系统的模型 2
1.2 系统仿真 3
1.2.1 系统仿真的定义 3
1.2.2 系统仿真的作用 5
1.2.3 系统仿真的基本原则 5
1.2.4 系统仿真的类型 7
1.2.5 系统仿真的软件实现 9
1.2.6 系统仿真的应用 10
1.3 系统仿真技术发展前沿 12
1.3.1 仿真技术难点和研究方向 12
1.3.2 仿真相关新兴技术 13
练习题 16
第 2章 Python编程基础 17
2.1 Anaconda的安装和使用 17
2.1.1 Anaconda的安装 17
2.1.2 Anaconda Navigator的界面和功能 19
2.1.3 在Anaconda Navigator中管理环境 24
2.1.4 在Anaconda Navigator中管理包 26
2.1.5 conda命令的使用 28
2.1.6 本书程序运行环境的建立 32
2.2 JupyterLab的基本使用 33
2.2.1 JupyterLab的界面组成 33
2.2.2 Notebook文件编辑和运行 39
2.2.3 Notebook文件程序调试 41
2.3 Python基础 44
2.3.1 Python的特点 44
2.3.2 Python的基本规则 44
2.3.3 基本数据类型和运算符 45
2.3.4 序列数据类型 48
2.3.5 集合数据类型 51
2.3.6 逻辑运算与条件语句 53
2.3.7 循环语句 54
2.4 Python的函数式编程 56
2.4.1 函数的定义和使用 56
2.4.2 函数定义中的可变位置参数*args 58
2.4.3 函数定义中的可变关键字参数**kwargs 60
2.4.4 函数定义中同时使用可变参数*args和**kwargs 61
2.4.5 使用Python内置函数和标准库中的函数 62
2.4.6 使用第三方的包和模块 65
2.5 Python的面向对象编程 67
2.5.1 类的定义和主要组成部分 67
2.5.2 类的继承 69
练习题 71
第3章 科学计算和数据可视化基础 72
3.1 NumPy 72
3.1.1 数组的创建和常用属性 72
3.1.2 其他创建数组的函数 75
3.1.3 数组的索引和切片 79
3.1.4 数组的拼接 81
3.1.5 数组计算与广播 82
3.2 SciPy 83
3.2.1 SciPy功能简介 84
3.2.2 线性代数计算 84
3.2.3 系统模型表示和仿真 87
3.3 Matplotlib 91
3.3.1 基本绘图示例 91
3.3.2 图的主要组成元素 96
3.3.3 绘图的一些常用功能 98
3.3.4 常见类型的图形绘制 103
练习题 109
第4章 python-control概述 111
4.1 python-control简介 111
4.1.1 python-control的安装 111
4.1.2 python-control的主要功能 112
4.2 python-control中主要的类和函数 112
4.2.1 python-control中主要的类 113
4.2.2 python-control中主要的函数 115
练习题 119
第5章 连续时间系统的模型 120
5.1 连续时间系统的模型概述 120
5.1.1 常微分方程模型 120
5.1.2 传递函数模型 121
5.1.3 传递函数模型的程序表示 121
5.1.4 脉冲响应函数模型 125
5.1.5 状态空间模型 126
5.1.6 状态空间模型的程序表示 127
5.1.7 I/O模型的表示 131
5.2 连续时间系统的模型转换 136
5.2.1 传递函数的不同表示形式 137
5.2.2 传递函数的实现问题 139
5.2.3 传递函数无零点时的实现 140
5.2.4 传递函数有零点时的实现 142
5.2.5 状态变量的线性变换 146
5.2.6 状态空间模型的若尔当
标准型 147
5.2.7 传递函数到状态空间模型
转换的相关函数 149
5.2.8 最小实现 154
5.2.9 从状态空间模型求传递
函数 156
5.3 非线性状态空间模型的线性化 158
5.3.1 线性化原理 158
5.3.2 模型线性化的相关函数 160
5.4 结构图模型 163
5.4.1 一阶环节的状态空间模型 163
5.4.2 二阶环节的分解 164
5.4.3 结构图的状态空间模型 164
5.4.4 结构图的程序化建模方法 168
5.4.5 面向结构图的互联系统建模方法 174
练习题 179
第6章 连续时间系统数值积分法仿真 182
6.1 系统的时域响应 182
6.1.1 典型输入信号 182
6.1.2 系统响应的解析解 183
6.1.3 一般系统的输入响应仿真计算 186
6.2 数值积分法基本原理 195
6.2.1 数值积分法基本原理 195
6.2.2 欧拉法 196
6.2.3 预估-校正法 201
6.3 龙格-库塔法 201
6.3.1 二阶龙格-库塔法(RK2法) 201
6.3.2 四阶龙格-库塔法(RK4法) 205
6.3.3 几种数值积分算法的总结 205
6.3.4 RK4法仿真编程 207
6.4 龙格-库塔法的误差估计与步长控制 210
6.4.1 龙格-库塔法的误差估计 211
6.4.2 步长控制 213
6.4.3 变步长仿真示例 214
6.5 算法稳定性分析 217
6.5.1 算法稳定性分析原理 217
6.5.2 算法稳定性仿真示例 219
6.6 面向结构图的连续时间系统仿真 222
6.6.1 全LTI环节的结构图的建模与仿真 222
6.6.2 带有非线性环节的结构图模型仿真 227
练习题 230
第7章 时域模型的离散化和仿真 232
7.1 离散时间系统的模型 232
7.1.1 差分方程 232
7.1.2 脉冲传递函数 233
7.1.3 权序列 236
7.1.4 离散时间状态空间模型 236
7.1.5 离散时间模型的仿真计算 239
7.2 时域离散相似法 242
7.2.1 连续时间LTI系统的解 242
7.2.2 连续时间LTI系统解的离散化 243
7.2.3 状态转移矩阵的计算 246
7.2.4 增广矩阵法 253
7.3 面向结构图的模型离散化和
仿真 256
7.3.1 典型线性环节的离散化模型 257
7.3.2 典型非线性环节 259
7.3.3 结构图的模型离散化和
仿真方法 260
7.3.4 结构图模型离散化与仿真示例 261
练习题 270
第8章 传递函数模型的离散化和仿真 272
8.1 替换法 272
8.1.1 替换法的原理和几种
形式 272
8.1.2 双线性变换的特性 274
8.1.3 双线性变换和频域分析相关函数 276
8.2 根匹配法 282
8.2.1 根匹配法原理 282
8.2.2 根匹配法计算示例 283
8.3 频域离散相似法 287
8.3.1 频域离散相似法原理 287
8.3.2 频域离散相似法应用示例 288
8.3.3 带补偿的离散相似法 291
练习题 296
第9章 采样控制系统仿真 297
9.1 采样控制系统 297
9.1.1 采样控制系统的结构 297
9.1.2 采样控制系统的数学模型 298
9.1.3 采样周期与仿真步长的关系 299
9.2 采样控制系统数字控制器设计 300
9.2.1 不同采样周期下的控制器模型转换 300
9.2.2 PID控制算法 302
9.2.3 无稳态误差最小拍控制器设计 303
9.2.4 采样控制系统仿真示例 305
9.3 带纯延迟环节的系统的仿真 310
9.3.1 纯延迟环节的仿真模型 310
9.3.2 带纯延迟环节的采样控制系统仿真示例 312
练习题 315
附录A 计算误差基本原理 317
A.1 舍入误差 317
A.2 截断误差 318
附录B 常用函数的S变换和Z变换 320
附录C 缩略词 321
参考文献 322