目录 1
第1章 Simulink基础 1
1.1 Simulink简介 1
1.2 运行Simulink演示程序 2
1.2.1 运行房屋热力学系统演示模型 2
1.2.2 房屋热力学系统模型说明 3
1.2.3 其他的Simulink演示程序 4
1.3 建立一个简单的Simulink模型 5
1.4 保存Simulink模型 8
1.5 打印及HTML报告 10
1.5.1 打印模型 10
1.5.2 生成模型报告 11
1.6 打印边框编辑器 13
1.6.1 用户接口 13
1.6.2 设计打印边框 13
1.6.3 打印边框示例 15
2.1.1 Simulink模块类型 17
2.1 模块操作 17
第2章 Simulink模块操作 17
2.1.2 自动连接模块 18
2.1.3 手动连接模块 19
2.2 改变模块外观 20
2.2.1 改变模块方向 20
2.2.2 操纵模块名称 21
2.2.3 指定方块图颜色 22
2.3 设置模块参数 22
2.3.2 来自工作区的模块参数 23
2.3.1 设置模块特定参数 23
2.4 标注方块图 24
2.4.1 编辑标注 24
2.4.2 在标注中使用TeX格式命令 25
2.5 模块属性对话框 26
2.6 控制和显示模块执行顺序 28
2.6.1 指定模块优先级 28
2.7.1 编辑查询表数值 29
2.6.2 显示模块执行顺序 29
2.7 查表编辑器 29
2.7.2 显示N-D表 30
2.7.3 绘制LUT表 31
2.7.4 编辑自定义LUT模块 31
2.8 鼠标和键盘操作概述 32
第3章 Simulink信号操作 34
3.1 信号基础 34
3.1.1 信号属性及分类 34
3.1.2 确定输出信号的维数 37
3.1.3 确定信号及参数维数准则 38
3.1.4 输入和参数的标量扩展 39
3.1.5 设置信号属性 39
3.2 显示信号 40
3.2.1 显示信号属性 40
3.2.2 信号标签 41
3.2.3 信号标签的传递 42
3.3.1 创建信号组 43
3.2.4 操作信号标签 43
3.3 信号组操作 43
3.3.2 编辑信号组 45
3.3.3 编辑信号 45
3.3.4 编辑波形 47
3.3.5 设置输入信号的时间范围 50
3.3.6 向工作区输出信号组数据库 50
3.3.7 用信号组仿真 50
3.3.8 仿真选项对话框 51
第4章 Simulink动态系统建模 53
4.1 创建动态系统模型的要素 53
4.1.1 方块图 53
4.1.2 系统函数 54
4.1.3 状态 54
4.1.4 模块参数 56
4.1.7 系统和子系统 57
4.1.6 用户模块 57
4.1.5 模块采样时间 57
4.1.8 信号 58
4.1.9 模块方法和模型方法 58
4.1.10 仿真算法 59
4.2 Simulink开放式动态系统建模 60
4.3 动态系统数学模型分类 61
4.3.1 常微分方程 61
4.3.2 差分方程 63
4.3.3 代数方程 64
4.3.4 组合系统 65
4.4 建立方程模型 66
4.4.1 建立代数方程模型 66
4.4.2 建立简单的连续系统模型 69
4.4.3 避免无效循环 70
4.4.4 建模提示 71
5.1 仿真基础 72
5.1.1 设定仿真参数 72
第5章 Simulink仿真设置 72
5.1.2 控制仿真执行 73
5.1.3 交互运行仿真 74
5.2 设置仿真参数 74
5.2.1 仿真时间设置 74
5.2.2 仿真算法设置 75
5.3.1 最大步长 78
5.3.2 初始步长 78
5.3 设置仿真步长 78
5.3.3 最小步长 79
5.4 设置误差容限 79
5.4.1 设置误差容限 79
5.4.2 步长计算 80
5.5 设置输出选项 81
5.6 工作区输入/输出设置 83
5.6.1 从基本工作区中装载输入 83
5.6.2 把输出结果保存到工作区 86
5.7.1 使用Scope模块和XY Graph模块 88
5.6.3 装载和保存状态 88
5.7 输出信号的显示 88
5.7.2 使用悬浮Scope模块和 90
Display模块 90
5.7.3 使用返回变量 92
5.7.4 使用To Workspace模块 93
第6章 Simulink动态系统仿真 95
6.1 Simulink动态系统仿真过程 95
6.1.1 模型编译阶段 95
6.1.2 模型链接阶段 96
6.1.3 仿真循环阶段 97
6.1.4 求解器的分类 98
6.2 离散系统仿真 100
6.2.1 差分方程的实现 100
6.2.2 指定采样时间 101
6.2.3 采样时间的传递 102
6.2.4 确定离散系统的步长 103
6.2.5 多速率系统 105
6.2.6 线性离散系统 106
6.3 连续系统仿真 108
6.3.1 微分方程的实现 108
6.3.2 线性连续系统 109
6.4 混合系统仿真 115
6.5 模型离散化 118
6.5.1 模型离散化GUI 118
6.5.2 查看离散化模型 122
6.5.3 从Simulink模型中离散化模块 123
6.6 诊断仿真错误 124
6.6.1 仿真诊断查看器 124
6.6.2 创建用户仿真错误消息 126
6.7 改善仿真性能和精度 127
6.7.1 提高仿真速度 127
6.7.2 改善仿真精度 128
7.1.1 过零检测的工作方式 129
第7章 高级仿真概念 129
7.1 过零检测 129
7.1.2 使用过零检测 130
7.1.3 闭过零检测 133
7.2 处理代数循环 135
7.2.1 代数约束 135
7.2.2 非代数的直接馈通环 137
7.2.3 切断代数环 138
7.2.4 高亮显示代数环 138
7.3 高级积分器 140
7.3.1 积分器参数对话框 140
7.3.2 创建自重置积分器 143
7.3.3 在使能子系统间传递状态 145
7.4 仿真参数的高级选项 147
7.4.1 仿真错误诊断设置 147
7.4.2 仿真性能优化设置 149
8.1.1 基本命令行语法——sim命令 154
第8章 使用命令行仿真 154
8.1 通过命令行仿真 154
8.1.2 设置仿真选项——simset命令 158
8.1.3 获取模型属性——get_param命令 160
8.1.4 设置模型参数——set_param命令 162
8.1.5 确定模型状态 162
8.2 模型线性化 163
8.2.1 连续系统模型线性化 163
8.2.2 离散系统模型线性化 165
8.2.3 线性化模型分析 165
8.3 寻找平衡点 166
8.4 编写模型和模块的回调函数 170
8.4.1 跟踪回调函数 170
8.4.2 创建模型回调函数 171
8.4.3 创建模块回调函数 171
9.1 创建子系统 173
9.1.1 Simulink子系统定义 173
第9章 使用子系统 173
9.1.2 创建子系统 175
9.1.3 浏览层级子系统 176
9.2 创建条件执行子系统 177
9.2.1 使能子系统 178
9.2.2 触发子系统 181
9.2.3 触发使能子系统 186
9.2.4 创建交替执行子系统 187
9.3 1 If-Else控制流语句 190
9.3 控制流语句 190
9.3.2 Switch控制流语句 193
9.3.3 While控制流语句 195
9.3.4 For控制流语句 200
9.3.5 比较Statefolw和控制流语句 203
第10章 封装子系统 206
10.1 封装子系统概述 206
10.1.1 封装特征 206
10.1.2 封装举例 207
10.2 封装编辑器 211
10.2.1 Icon选项页的设置 211
10.2.2 Parameters选项页的设置 214
10.2.3 Initialization选项页的设置 217
10.2.4 Documentation选项页的设置 218
10.3 创建封装模块的动态对话框 219
10.3.1 设置封装模块对话框参数 220
10.3.2 预定义封装对话框参数 220
10.4 自定义库操作 224
10.4.1 建立和使用库 225
10.4.2 库连接状态 226
10.4.3 显示库关联及信息 228
10.4.4 把用户库添加到Simulink库浏览器中 228
10.5 可配置子系统 229
10.5.1 创建可配置子系统 229
10.5.2 映射I/O端口 230
11.1.1 启动调试器 234
11.1 调试器概述 234
第11章 Simulink调试器 234
11.1.2 调试器的图形用户接口 235
11.1.3 调试器的命令行接口 235
11.1.4 调试器命令 236
11.2 调试器控制 237
11.2.1 连续运行仿真 237
11.2.2 继续仿真 238
11.2.3 单步运行仿真 239
11.3 设置断点 241
11.3.1 设置无条件断点 241
11.3.2 设置有条件断点 243
11.4 显示仿真信息 244
11.4.1 显示模块I/O 244
11.4.2 显示代数环信息 246
11.4.3 显示系统状态 246
11.5.1 显示模型中模块的执行顺序 247
11.5 显示模型信息 247
11.4.4 显示积分信息 247
11.5.2 显示模块 248
第12章 编写M语言S-函数 251
12.1 什么是S-函数 251
12.1.1 S-函数的定义 251
12.1.2 S-函数的工作方式 252
12.2 在模型中创建S-函数 254
12.2.1 在模型中使用S-函数 254
12.2.2 向S-函数中传递参数 255
12.2.3 何时使用S-函数 256
12.3 S-函数的概念 256
12.3.1 直接馈通 256
12.3.2 动态设置数组维数 257
12.3.3 设置采样时间和偏移量 258
12.4 编写M语言S-函数 259
12.4.1 M文件S-函数模板 259
12.5.1 无状态M文件S-函数 261
12.5 M文件S-函数范例 261
12.4.2 定义S-Function模块特征 261
12.5.2 连续状态S-函数 267
12.5.3 离散状态S-函数 272
12.5.4 混合系统S-函数 278
附录 281
附录A 模型和模块参数 281
A.1 模型参数 281
A.2 共用模块参数 284
A.3 专用模块参数 285
A.4 封装参数 294
附录B 模型和模块回调函数 295
B.1 模型回调函数 295
B.2 模块回调函数 295
附录C Simulink模块简介 297
C.1 输入源模块库(Sources) 297
C.2 接收模块库(Sinks) 298
C.3 连续系统模块库(Continuous) 299
C.5 数学运算模块库 300
(Math Operations) 300
C.4 离散系统模块库(Discretes) 300
C.6 信号路由模块库 302
(Signal Routing) 302
C.7 信号属性模块库 303
(Signal Attributes) 303
C.8 非线性模块库(Discontinuous) 303
C.10 用户定义函数模块库(User-DefinedFunctions) 304
C.9 查询表模块库 304
(Look-Up Tables) 304
C.11 模型验证模块库 305
(Model Verification) 305
C.12 端口和子系统模块库(Ports Subsystems) 306
C.13 模型实用模块库(Model-WideUtilities) 307
附录D MATLAB可用的TeX字符集 307
附录E 北京九州恒润科技有限公司简介 308