初级篇 3
第1章 快速入门 3
1.1 仿真技术 3
1.2 仿真建模方法 4
1.2.1 仿真的三要素 4
1.2.2 仿真建模的基本要求 5
1.3.2 Simulink应用举例 6
1.3.1 Simulink是什么 6
1.3 Simulink与建模仿真 6
1.2.3 仿真系统的分类 6
1.4 Simulink 4的安装 8
1.4.1 系统要求 8
1.4.2 安装 8
1.5 创建一个简单模型 9
1.6 Simulink是如何工作的 11
1.6.1 模型基本结构 11
1.6.2 仿真运行原理 12
2.2.1 调整模块大小 15
2.2 模块操作 15
第2章 建模方法 15
2.1 打开模型 15
2.2.2 旋转模块 17
2.2.3 模块的内部复制 17
2.2.4 删除模块 18
2.2.5 选中多个模块 18
2.2.6 改变模块的标签 18
2.2.7 改变标签位置 19
2.2.8 隐藏标签 19
2.2.9 增加阴影 19
2.3 信号线操作 20
2.3.1 斜向绘制信号线 20
2.3.2 移动线段 21
2.3.3 移动节点 21
2.3.4 删除信号线 21
2.3.5 分割信号线 21
2.3.7 信号线标签的移动或复制 22
2.3.6 信号线标签 22
2.3.8 信号线标签的传递 23
2.4 模型注释 24
2.4.1 增加注释的方法 24
2.4.2 改变注释字体 24
2.5 创建一个复杂模型 25
2.6 模型打印 30
2.6.2 嵌入文档中 31
2.6.3 使用MATLAB的print命令 31
2.6.1 菜单打印 31
第3章 运行仿真 33
3.1 使用窗口运行仿真 33
3.1.1 仿真参数的设置 36
3.2 使用MATLAB命令运行仿真 43
3.2.1 sim命令 43
3.2.2 simset命令 45
3.2.3 simget命令 46
3.3.1 加速仿真 49
3.3 改善仿真性能及精度 49
3.3.2 改善仿真精度 50
第4章 模型调试 51
4.1 启动Simulink调试器 51
4.1.1 调试器窗口 51
4.1.2 命令行调试 52
4.2 在调试状态下运行仿真 54
4.3 设置断点 56
4.3.1 无条件中断 56
4.3.2 条件中断 58
4.4 显示仿真信息 59
4.4.1 显示模块的输入输出 60
4.4.2 显示代数环信息 63
4.4.3 显示系统状态 64
4.4.4 显示积分 65
4.5 显示模型信息 65
5.1.1 增益模块 69
第5章 基本模块介绍 69
5.1 连续系统模块 69
5.1.2 求和模块 70
5.1.3 微分模块 70
5.1.4 积分模块 71
5.1.5 简单物理模型 72
5.1.6 传递函数模块 72
5.2 状态空间模块 73
5.2.1 状态空间的概念 74
5.2.2 线性单输入输出系统 75
5.2.3 多输入输出系统 77
5.3 离散系统模块 79
5.3.1 离散增益模块 79
5.3.2 离散求和模块 79
5.3.3 单位延迟模块 80
5.3.4 时间离散积分模块 80
5.3.5 简单离散系统模型 80
5.4 离散状态空间模块 81
5.3.6 离散传递函数模块 81
5.5 主要库和库函数介绍 82
中级篇 89
第6章 连续系统 89
6.1 积分模块 89
6.1.1 积分模块 89
6.1.2 传递函数模块 92
6.2 向量线性系统 93
6.2.1 向量信号线 94
6.2.2 状态空间模块 95
6.3 非线性系统的模拟 96
第7章 时间离散系统 101
7.1 标量线性时间离散系统 101
7.1.1 单位延迟 101
7.1.2 离散积分 101
7.1.3 离散传递函数模块 103
7.2 逻辑模块 104
7.3 多时间离散系统 105
7.4 混合系统 106
第8章 子系统及其封装技术 109
8.1 Simulink子系统 109
8.1.1 压缩子系统 110
8.1.2 子系统模块 112
8.2 封装模块 114
8.2.1 子系统到封装模块的转化 115
8.2.2 查看封装和解封装 125
8.2.3 封装模块的使用 125
8.2.4 创建模块库 125
第9章 条件执行子系统 129
9.1 激活型子系统 129
9.2 触发型子系统 132
9.3 触发激活型子系统 133
9.4 离散条件执行子系统 133
第10章 回调 137
10.1 回调函数的介绍 137
高级篇 137
10.1.1 加载回调 138
10.2 模型结构命令 138
10.3 基于回调的图形用户界面 140
10.3.1 图形用户界面回调 140
10.3.2 程序设计中需要注意的问题 142
10.4 基于回调的动画 150
11.1.1 状态向量 157
11.1 模型特征 157
第11章 Simulink分析工具 157
11.1.2 “model”命令 158
11.2 线性化工具 160
11.2.1 线性化概念 160
11.2.2 Simulink线性化命令 161
11.3 平衡工具 167
11.4 优化工具箱和Simulink 171
11.5 其他工具箱和Simulink 173
12.1 算法选择 175
第12章 数值分析 175
12.1.1 最佳解法选择分析 176
12.1.2 解法参数设置 177
12.1.3 应用举例 177
12.2 代数环 179
12.2.1 Newton-Raphson方法 180
12.2.2 消除代数环 180
13.1.2 S函数模块 185
13.1.1 什么是S函数 185
13.1 S函数简介 185
第13章 S函数 185
13.1.3 S函数是如何工作的 186
13.1.4 S函数中的几个概念 188
13.2 M文件S函数 190
13.2.1 编程的注意事项 194
13.2.2 M文件S函数举例 194
13.3 C语言S函数 200
13.3.2 C语言S函数举例 204
13.3.1 编译C语言S函数 204
13.4 C++ S函数 210
13.4.1 语言格式 210
13.4.2 建立永久的C++对象 213
第14章 图形动画 215
14.1 介绍 215
14.2 S函数动画 215
14.2.1 动画的初始化 215
14.2.2 动画的更新 216
附录A Simulink的工作窗口与入门演示 221
A.1 Simulink的工作窗口 221
A.1.1 按钮介绍 221
A.1.2 菜单介绍 222
A.2 Simulink的入门演示 224
附录B 模块库介绍 225
B.1 连续模块库 225
1 Derivative(微分模块) 225
2 Integrator(积分模块) 226
3 Memory(存储器模块) 227
4 State-Space(线性状态空间模块) 228
5 Transfer Fcn(传递函数模块) 229
6 Transport Delay(传输延迟模块) 230
7 Variable Transport Delay(可变的传输延迟模块) 231
8 Zero-Pole(以零点-极点表示的传递函数模块) 233
B.2 离散模块库 234
1 Discrete-Time Integrator(离散时间积分器) 234
2 Discrete State-Space(离散状态空间模块) 236
3 Discrete Filter(离散滤波器) 237
4 Discrete Transfer Fcn(离散传递函数模块) 238
5 Discrete Zero-Pole(离散零点-极点模块) 239
6 First-Order Hold(一阶保持器) 241
7 Unit Delay(单位延迟模块) 242
8 Zero-Order Hold(零阶保持器) 243
B.3 函数模块库 244
1 Fcn(自定义函数模块) 244
2 Look-Up Table(查表模块) 245
3 Look-Up Table(2-D)(二维查表) 247
4 MATLAB Fcn(由MATLAB创立子函数模块) 248
5 S-Function(S函数模块) 249
B.4 数学模块库 250
1 Abs(绝对值模块) 250
2 Algebraic Constraint(强制输入信号为0) 250
3 Complex to Magnitude-Angle(计算复数信号的模及幅角) 252
4 Complex to Real-Imag(计算复数信号的实部及虚部) 252
5 Dot Product(实现输入向量的点积) 253
6 Gain(增益模块) 254
7 Logical Operator(逻辑运算模块) 255
8 Matrix Gain(矩阵增益) 256
9 Math Function(特殊数学函数) 257
10 MinMax(求最大或最小值) 258
11 Product(乘法模块) 259
12 Combinatorial Logic(复合逻辑模块) 260
13 Rounding Function(取整函数) 260
14 Relational Operator(关系运算) 261
15 Sign(符号函数) 262
16 Sum(求和模块) 263
17 Slider Gain(滑块增益模块) 264
18 Magnitude-Angle to Complex(将给定的模及幅角转换成复数信号) 265
19 Real-Imag to Complex(将给定的实部和虚部转换成复数信号) 266
20 Trigonometric Function(三角函数模块) 267
B.5 非线性模块库 268
1 Backlash(偏移模块) 268
2 Coulomb Viscous Friction(模拟原点不连续系统模块) 269
3 Dead Zone(输出-零输出区) 270
4 Manual Switch(手动开关模块) 271
5 Multiport Switch(多端口开关) 271
6 Relay(继电器模块) 272
7 Rate Limiter(比率限定) 273
8 Saturation(饱和度模块) 275
9 Quantizer(量子化模块) 275
10 Switch(两个输入的选择模块) 276
B.6 信号模块库 277
1 In1(子系统的输入端口模块) 277
2 Outport(子系统的输出端口模块) 278
3 Mux(向量合成模块) 279
4 Demux(向量分解模块) 280
5 From(获取数据模块,与Goto模块相对应) 281
6 Goto Tag Visibility(Goto模块标签可见度模块) 281
7 Goto(传输导向模块) 282
8 Data Store Read(读取存储数据) 283
9 Data Store Memory(数据存储器) 284
10 Data Store Write(写入存储数据模块) 284
11 Enable(激活器模块) 285
12 Trigger(触发器模块) 286
13 Ground(接地模块) 287
14 Terminator(终结模块) 287
15 IC(信号初始值设置) 288
17 Selector(选择器模块) 289
16 Subsystem(子系统模块) 289
18 Width(输入向量的输出宽度) 290
19 Merge(合成模块) 290
20 Hit Crossing(检测交叉点) 291
21 Bus Selector(Bus信号选择器) 292
22 Data Type Conversion(数据类型转换模块) 293
23 Probe(信号线探测器模块) 294
24 Model Info(模型信息) 295
1 Display(显示模块) 296
B.7 输出显示模块库 296
2 Scope(示波器模块) 297
3 Stop Simulation(仿真结束控制) 301
4 To File(数据输出到文件中) 302
5 To Workspace(将数据写入到工作间的变量中) 303
6 XY Graph(显示输入信号的二维图形) 304
B.8 源模块库 305
1 Band-Limited White Noise(白噪音信号) 305
3 Chirp Signal(尖鸣信号发生器) 307
2 Constant(常数源模块) 307
4 Clock(仿真时间模块) 308
5 Digital Clock(数字仿真时间模块) 309
6 Discrete Pulse Generator(离散脉冲信号发生器) 310
7 From File(信号来自于文件) 311
8 From Workspace(从MATLAB工作间定义的变量读取数据) 312
9 Pulse Generator(脉冲信号发生器) 314
10 Ramp(“斜坡”信号) 314
11 Random Number(产生正态分布的随机数) 315
12 Repeating Sequence(周期序列) 316
13 Signal Generator(信号发生器模块) 317
14 Sine Wave(正弦波信号发生器) 319
15 Step(阶跃函数模块) 320
16 Uniform Random Number(产生均匀分布的随机数) 321
附录C 调试命令索引及说明 323
C.1 命令列表 323
C.2 命令详解 324
参考文献 330