图书目录

目 录

CONTENTS

第1 章Simulink 与系统仿真       1

1.1 系统仿真技术概述        1

1.2 数学建模与物理建模          2

1.3 计算机仿真工具发展概述      4

1.3.1 模拟与混合计算机仿真      4

1.3.2 数字计算机仿真语言        5

1.3.3 面向对象的仿真语言        7

1.3.4 MATLAB 与Simulink 发展历程    7

1.4 本书的主要结构与说明        8

1.4.1 本书的结构       8

1.4.2 排版的特殊说明        10

本章习题            10

第2 章Simulink 的常用模块       12

2.1 Simulink 环境的启动          12

2.1.1 基于界面的启动方法        13

2.1.2 MATLAB 命令式启动方法        15

2.1.3 信号线与模块端子      16

2.2 输入输出类模块组        17

2.2.1 输入信号源模块组      17

2.2.2 信号构造器界面        21

2.2.3 输出池模块组          21

2.2.4 仪表板模块组          24

2.3 系统类模块组           26

2.3.1 线性连续模块组        26

2.3.2 线性离散模块组        28

2.3.3 不连续模块组          29

iv 薛定宇教授大讲堂(卷VI):Simulink 建模与仿真

2.4 数学运算与处理类模块组      31

2.4.1 数学运算模块组        31

2.4.2 自定义函数模块组      33

2.4.3 查表模块组       34

2.4.4 逻辑与位操作模块组        35

2.5 信号操作类模块组        36

2.5.1 信号路由模块组        36

2.5.2 信号属性模块组        38

2.5.3 端子与子系统模块组        38

2.6 Simulink 工具箱与模块集      39

本章习题            40

第3 章模块处理与模型菜单系统      43

3.1 模块的简单处理与修饰        43

3.1.1 模块的快捷菜单        44

3.1.2 模块的复制与移动      44

3.1.3 模块的字体设置        45

3.1.4 模块的连接       46

3.1.5 模块的旋转与翻转      47

3.1.6 模块的颜色设置和阴影设置       48

3.2 模块的参数修改         49

3.2.1 参数对话框常用控件        50

3.2.2 参数对话框的信息填写      52

3.3 早期版本Simulink 的菜单系统      53

3.3.1 文件管理菜单          54

3.3.2 Edit、View 与Display 菜单     58

3.3.3 模型操作菜单          59

3.3.4 仿真参数设置菜单      60

3.3.5 分析工具菜单          62

3.4 新版本的工具栏与菜单系统        64

3.4.1 仿真参数与设置        64

3.4.2 跟踪与调试       66

3.4.3 模型搭建与仿真参数的设置       66

3.4.4 格式设置         68

3.4.5 APP 调用         69

3.5 模型浏览器的操作界面        69

本章习题            71

目 录v

第4 章常微分方程建模与仿真        72

4.1 Simulink 的模板设计          72

4.1.1 微分方程建模的一般准则        73

4.1.2 简单微分方程的框图建模举例     73

4.1.3 新模型模板的设计      75

4.1.4 仿真的终止条件        77

4.1.5 过零点检测       78

4.2 一阶显式微分方程组的建模        80

4.2.1 关键信号的定义与生成      80

4.2.2 数值解的检验与控制参数设置     82

4.2.3 向量化的建模方法      84

4.2.4 一阶显式微分方程组的通用框架       85

4.2.5 一阶时变显式微分方程组的模型框架   88

4.3 一般高阶微分方程的建模      89

4.3.1 关键信号的定义        89

4.3.2 高阶线性微分方程的建模        90

4.3.3 常系数线性微分方程的传递函数模型   93

4.3.4 一般高阶非线性微分方程建模     96

4.3.5 高阶隐式微分方程的建模方法     96

4.3.6 不连续微分方程的建模      99

4.4 高阶微分方程组的建模        101

4.4.1 微分方程组的建模思路      101

4.4.2 多个微分方程的求解方法        103

4.4.3 延迟微分方程组的求解方法       103

4.4.4 中立型延迟微分方程        106

4.4.5 切换微分方程          107

4.4.6 随机输入微分方程      109

4.5 分数阶微分方程的建模与求解      111

4.5.1 分数阶微积分简介      111

4.5.2 分数阶微积分算子的逼近        112

4.5.3 分数阶微分方程的建模与求解     115

4.6 差分方程的建模         117

本章习题            120

第5 章控制系统的Simulink 建模       126

5.1 连续线性模型的Simulink 建模      126

5.1.1 传递函数模型          127

vi 薛定宇教授大讲堂(卷VI):Simulink 建模与仿真

5.1.2 状态方程模型          128

5.1.3 线性奇异系统的状态方程模型     129

5.1.4 带有非零初值的传递函数模型     132

5.1.5 传递函数矩阵的Simulink 建模     136

5.1.6 可变参数线性系统的Simulink 建模     138

5.2 离散线性模型的建模与仿真        139

5.2.1 离散线性系统的数学模型        139

5.2.2 连续离散模型的相互转换        140

5.2.3 离散模型的Simulink 建模        141

5.2.4 仿真控制参数对离散系统的影响       143

5.2.5 离散参数精度对仿真结果的影响       144

5.3 非线性环节的Simulink 构造        145

5.3.1 查表模块         145

5.3.2 单值非线性模块的搭建      146

5.3.3 双值非线性模块的搭建      147

5.3.4 多维查表模块          149

5.4 模块运行的自动排序          151

5.5 非线性控制系统的近似方法        154

5.5.1 延迟环节的Padé 近似       154

5.5.2 Simulink 模型的线性化      155

5.5.3 代数环现象与代数环消除        160

本章习题            164

第6 章子系统与模块封装        169

6.1 子系统建模         169

6.1.1 子系统的构建与提取        170

6.1.2 避免交叉连线的方法        172

6.1.3 Simulink 模型的嵌入        174

6.2 复杂的流程子系统        175

6.2.1 使能与触发子系统      175

6.2.2 条件转移子系统        178

6.2.3 其他流程控制子系统        179

6.3 模块封装           180

6.3.1 封装模块的图标设计        180

6.3.2 图标其他属性的设计与修饰       184

6.3.3 封装模块的参数对话框设计       185

6.3.4 控件的回调函数        190

目 录vii

6.3.5 封装模块的初始化      191

6.3.6 封装模块的文档与帮助信息       192

6.3.7 模块封装举例          193

6.3.8 取消模块封装状态      195

6.4 Simulink 模型的语句绘制      195

6.4.1 建立空白的Simulink 模型        195

6.4.2 模块的复制       198

6.4.3 模块的连线       199

6.4.4 模块参数的填写        201

6.4.5 利用语句的建模举例        202

6.4.6 基于MATLAB 命令的模块封装    205

6.5 用MATLAB 命令控制仿真进程     207

6.5.1 用MATLAB 启动仿真过程       207

6.5.2 仿真参数的设定        208

6.5.3 Simulink 仿真的输入与输出数据结构   209

6.5.4 并行仿真         211

本章习题            213

第7 章Simulink 模块的编程实现       214

7.1 M-函数与实现           214

7.1.1 静态非线性环节        215

7.1.2 M-函数的局限性       216

7.2 S-函数的程序设计        217

7.2.1 系统的状态方程数学模型        217

7.2.2 S-函数的基本结构      218

7.2.3 S-函数的响应函数      219

7.2.4 S-函数的运行机制      220

7.2.5 用MATLAB 编写S-函数:编程实例     220

7.2.6 S-函数模块的封装      227

7.2.7 二级S-函数       229

7.3 用C 语言编写S-函数          231

7.3.1 C 编译器的设置        231

7.3.2 S-函数编写举例        231

7.4 S-函数编程实践:自抗扰控制系统        233

7.4.1 扩张状态观测器的建模      234

7.4.2 自抗扰控制器的建模        235

7.4.3 自抗扰控制系统的仿真      236

viii 薛定宇教授大讲堂(卷VI):Simulink 建模与仿真

本章习题            239

第8 章Simulink 与数值最优化技术的有机结合    241

8.1 微分方程的边值问题          242

8.1.1 微分方程边值问题与打靶法       242

8.1.2 将边值问题的打靶法转换为数值最优化问题  243

8.1.3 常规边值问题求解举例      243

8.1.4 Simulink 模型的快速重启     246

8.1.5 含有参数的微分方程边值问题求解     248

8.1.6 多已知点问题的求解        249

8.1.7 分数阶微分方程的边值问题       250

8.1.8 延迟微分方程边值问题      251

8.1.9 全局最优解问题        253

8.2 应用程序界面设计        255

8.3 最优控制器设计         260

8.3.1 传统最优控制潜在的问题        260

8.3.2 伺服控制的性能指标与最优设计       264

8.3.3 最优控制器设计界面        268

8.3.4 最优控制程序的其他应用        272

8.3.5 开放的程序框架        273

8.3.6 PID 型控制器最好的二阶控制器结构    274

8.4 最优PID 控制器设计界面      275

8.4.1 控制系统的底层仿真模型        276

8.4.2 OptimPID 程序举例         277

8.4.3 开放框架与程序扩展        279

本章习题            280

第9 章多媒体信息处理与仿真        284

9.1 音频信息的输入与输出        284

9.1.1 音频处理工具箱简介        285

9.1.2 音频信息的读入与播放      285

9.1.3 音频信号的数据结构        289

9.1.4 MATLAB 命令式音频读入与输出      289

9.2 音频信号的处理         292

9.2.1 音频信号的滤波处理        292

9.2.2 动态范围控制          293

9.2.3 音效处理         295

9.2.4 音频信息的检测        297

目 录ix

9.3 视频信息处理与计算机视觉工具箱       299

9.4 图像与影像的输入与输出      300

9.4.1 图像与影像的读取      300

9.4.2 图像与影像的显示与输出        301

9.4.3 命令式影像播放语句        302

9.5 图像的简单变换         304

9.5.1 图像的颜色空间表示        304

9.5.2 颜色空间转换          305

9.5.3 图像的几何尺度变换        307

9.5.4 图像的Gamma 校正         307

9.5.5 图像的频域变换与滤波      309

9.6 图像分析与增强         310

9.6.1 直方图均衡化          310

9.6.2 边缘检测         313

9.6.3 形态学处理       315

9.6.4 实时影像处理          318

本章习题            318

第10 章工程系统的建模与仿真       320

10.1 物理建模仿真模块集Simscape      321

10.1.1 数学建模方法的局限性     321

10.1.2 Simscape 简介        323

10.1.3 Simscape 基础模块库简介       323

10.1.4 两类信号及其相互转换     327

10.1.5 创立简单的Simscape 模型       328

10.1.6 复杂电路网络建模与仿真       331

10.2 电气系统模块集简介         332

10.2.1 电源模块        333

10.2.2 传感器模块          333

10.2.3 电路与电子元件模块       333

10.2.4 机电装置模块         335

10.3 电气系统的建模与仿真       336

10.3.1 电子线路及其仿真         336

10.3.2 运算放大器电路仿真       338

10.3.3 数字电子线路仿真举例     340

x 薛定宇教授大讲堂(卷VI):Simulink 建模与仿真

10.4 机械系统建模与仿真         345

10.4.1 简单力学系统的仿真       345

10.4.2 Multibody 模块集简介      347

10.4.3 四连杆机构的建模与仿真       349

本章习题            352

第11 章非工程系统的仿真       356

11.1 药物动力学系统建模与仿真       356

11.1.1 药物动力学系统简介       356

11.1.2 药物动力学系统的舱室模型      357

11.1.3 带有传输延迟的Wada 模型      360

11.1.4 药物动力学工具箱和Simulink 模型    362

11.1.5 Mapleson 模型、代码与框图      362

11.1.6 药效学建模          366

11.2 有限状态机仿真及Stateflow 应用       367

11.2.1 有限状态机简介       367

11.2.2 Stateflow 入门知识         368

11.2.3 Stateflow 的常用命令       371

11.2.4 Stateflow 建模举例         372

11.2.5 用Stateflow 控制流程       376

11.3 基于SimEvents 的离散事件系统仿真方法     378

11.3.1 离散事件动态系统基本概念      378

11.3.2 SimEvents 模块集简介      379

11.3.3 离散事件系统仿真演示     379

本章习题            383

参考文献           385

MATLAB 函数名索引         390

术语索引           394