《Simulink动态系统建模与仿真》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:李颖著
  • 出 版 社:西安:西安电子科技大学出版社
  • 出版年份:2009
  • ISBN:9787560623474
  • 页数:446 页
图书介绍:本书从Simulink基本概念开始,系统介绍了Simulink软件包中各种模块的特性及使用方法,重点介绍了利用Simulink工具进行动态系统建模、仿真、分析和调试的方法,包括连续系统、离散系统和混合系统。

第1章 Simulink基础 1

1.1 Simulink简介 1

1.2 运行Simulink演示程序 2

1.2.1 运行房屋热力学系统演示模型 2

1.2.2 房屋热力学系统模型说明 4

1.2.3 其他Simulink演示程序 7

1.3 建立一个简单的Simulink模型 7

1.4 保存Simulink模型 11

1.5 打印及HTML报告 13

1.5.1 打印模型 13

1.5.2 生成模型报告 15

1.6 打印边框编辑器 16

1.6.1 用户接口 17

1.6.2 设计打印边框 17

1.6.3 打印边框示例 19

1.7 Simulink参数设置 21

1.7.1 常用Simulink参数 21

1.7.2 Simulink字体参数 24

1.7.3 Simulink仿真参数 25

第2章 Simulink模块操作 27

2.1 模块操作 27

2.1.1 Simulink模块类型 27

2.1.2 自动连接模块 28

2.1.3 手动连接模块 30

2.2 改变模块外观 30

2.2.1 改变模块方向 31

2.2.2 改变模块名称 31

2.2.3 指定方块图颜色 32

2.3 设置模块参数 33

2.3.1 设置模块特定参数 33

2.3.2 来自工作区的模块参数 34

2.4 标注方块图 35

2.4.1 编辑标注 35

2.4.2 在标注中使用TeX格式命令 35

2.5 模块属性对话框 36

2.6 显示模块输出 39

2.6.1 设置输出提示 39

2.6.2 模块输出提示选项 41

2.7 控制和显示模块的执行顺序 41

2.7.1 指定模块优先级 41

2.7.2 显示模块执行顺序 42

2.8 查表编辑器 42

2.8.1 编辑查询表数值 42

2.8.2 显示N-维表 45

2.8.3 绘制LUT表曲线 46

2.8.4 编辑自定义LUT模块 46

2.9 鼠标和键盘操作概述 47

第3章 Simulink信号操作 50

3.1 信号基础 50

3.1.1 信号属性及分类 50

3.1.2 信号的线型 54

3.1.3 确定输出信号的维数 54

3.1.4 确定信号及参数维数的准则 55

3.1.5 输入和参数的标量扩展 56

3.1.6 设置信号属性 57

3.2 信号及示波器管理器 60

3.2.1 信号及示波器管理器对话框 60

3.2.2 信号选择对话框 63

3.3 显示信号 67

3.3.1 显示信号属性 68

3.3.2 信号标签 69

3.3.3 信号标签的传递 70

3.3.4 操作信号标签 71

3.4 多维数组信号的连接 71

3.5 信号组操作 73

3.5.1 创建信号组 74

3.5.2 编辑信号组 75

3.5.3 编辑信号 76

3.5.4 编辑波形 78

3.5.5 设置输入信号的时间范围 80

3.5.6 输出信号组数据及波形 81

3.5.7 用信号组仿真 81

3.5.8 仿真选项对话框 82

3.6 复合信号 84

3.6.1 混合信号 85

3.6.2 总线信号 86

3.6.3 总线对象 88

第4章 Simulink动态系统建模 91

4.1 创建动态系统模型的要素 91

4.1.1 方块图 91

4.1.2 系统函数 92

4.1.3 状态 92

4.1.4 模块参数 94

4.1.5 模块采样时间 95

4.1.6 用户模块 95

4.1.7 系统和子系统 95

4.1.8 信号 96

4.1.9 模块方法和模型方法 96

4.1.10 仿真算法 97

4.2 Simulink开放式动态系统建模 98

4.3 动态系统数学模型分类 99

4.3.1 常微分方程 99

4.3.2 差分方程 101

4.3.3 代数方程 102

4.3.4 组合系统 103

4.4 建立方程模型 104

4.4.1 建立代数方程模型 104

4.4.2 建立简单的连续系统模型 108

4.4.3 选择最佳的数学模型 109

4.4.4 避免无效循环 111

4.4.5 建模提示 113

第5章 Simulink仿真设置 114

5.1 仿真基础 114

5.1.1 设定仿真参数 114

5.1.2 控制仿真执行 115

5.1.3 交互运行仿真 116

5.2 设置仿真算法 116

5.2.1 设置仿真时间 117

5.2.2 设置仿真算法 117

5.2.3 设置仿真步长 122

5.2.4 计算仿真步长 125

5.2.5 设置误差容限 126

5.3 工作区输入/输出设置 128

5.3.1 从基本工作区中装载输入 129

5.3.2 把输出结果保存到工作区 132

5.3.3 装载和保存状态 134

5.3.4 设置输出选项 134

5.4 输出信号的显示 136

5.4.1 Scope模块和XY Graph模块的使用 136

5.4.2 悬浮Scope模块和Display模块的使用 138

5.4.3 返回变量的使用 141

5.4.4 To Workspace模块的使用 141

第6章 Simulink动态系统仿真 144

6.1 Simulink动态系统仿真过程 144

6.1.1 模型编译阶段 144

6.1.2 模型链接阶段 145

6.1.3 仿真循环阶段 146

6.1.4 求解器的分类 148

6.2 离散系统仿真 149

6.2.1 差分方程的实现 149

6.2.2 指定采样时间 150

6.2.3 采样时间的传递 152

6.2.4 确定离散系统的步长 154

6.2.5 多速率系统 155

6.2.6 线性离散系统 157

6.3 连续系统仿真 159

6.3.1 微分方程的实现 159

6.3.2 线性连续系统 160

6.4 混合系统仿真 166

6.5 模型离散化 169

6.5.1 模型离散化GUI 170

6.5.2 查看离散化模型 174

6.5.3 从Simulink模型中离散化模块 175

6.6 诊断仿真错误 176

6.6.1 仿真诊断查看器 177

6.6.2 创建用户仿真错误消息 178

6.7 改善仿真性能和精度 179

6.7.1 提高仿真速度 180

6.7.2 改善仿真精度 180

6.8 综合实例 182

6.8.1 坐标系及其转换 183

6.8.2 转换矩阵算法的Simulink实现 183

6.8.3 惯性测量输出的Simulink实现 186

6.8.4 刚体角速度在惯性空间中矢量的Simulink实现 188

6.8.5 空间姿态角计算 188

第7章 高级仿真概念 191

7.1 过零检测 191

7.1.1 过零检测的工作方式 191

7.1.2 过零检测的实现方式 192

7.1.3 使用过零检测 194

7.1.4 关闭过零检测 197

7.2 处理代数循环 199

7.2.1 代数约束 199

7.2.2 非代数的直接馈通环 201

7.2.3 切断代数环 202

7.2.4 消除代数环 203

7.2.5 高亮显示代数环 205

7.3 高级积分器 206

7.3.1 积分器模块参数对话框 207

7.3.2 创建自重置积分器 211

7.3.3 在使能子系统间传递状态 213

7.4 仿真诊断选项设置 215

7.4.1 仿真算法诊断设置 215

7.4.2 采样时间诊断设置 219

7.4.3 数据验证诊断设置 220

7.4.4 类型转换诊断设置 225

7.4.5 连接诊断设置 225

7.4.6 兼容性诊断设置 228

7.4.7 模型引用诊断设置 232

7.5 仿真性能优化设置 234

第8章 使用命令行仿真 238

8.1 通过命令行仿真 238

8.1.1 基本命令行语法——sim命令 238

8.1.2 设置仿真参数——simset命令 243

8.1.3 获取仿真参数——simget命令 247

8.1.4 获取模型属性——get_param命令 248

8.1.5 设置模型参数——set_param命令 250

8.1.6 绘制仿真曲线——simplot命令 251

8.1.7 确定模型状态 252

8.2 模型线性化 253

8.2.1 模型线性化命令 253

8.2.2 连续系统模型线性化 255

8.2.3 离散系统模型线性化 257

8.2.4 线性化模型分析 257

8.3 寻找平衡点 258

8.4 编写模型和模块的回调函数 263

8.4.1 跟踪回调函数 263

8.4.2 创建模型回调函数 264

8.4.3 创建模块回调函数 264

第9章 使用子系统 266

9.1 创建子系统 266

9.1.1 Simulink子系统定义 266

9.1.2 创建子系统 268

9.1.3 浏览层级子系统 269

9.2 创建条件执行子系统 271

9.2.1 使能子系统 272

9.2.2 触发子系统 278

9.2.3 触发使能子系统 284

9.2.4 创建交替执行子系统 285

9.2.5 函数调用子系统 288

9.3 控制流语句 290

9.3.1 If-Else控制流语句 290

9.3.2 Switch控制流语句 293

9.3.3 While控制流语句 296

9.3.4 For控制流语句 301

9.3.5 Stateflow图和控制流语句的比较 305

第10章 封装子系统 308

10.1 封装子系统概述 308

10.1.1 封装特征 308

10.1.2 封装举例 310

10.2 封装编辑器 313

10.2.1 Icon选项页的设置 313

10.2.2 Parameters选项页的设置 317

10.2.3 Initialization选项页的设置 320

10.2.4 Documentation选项页的设置 322

10.3 创建封装模块的动态对话框 323

10.3.1 设置封装模块对话框参数 324

10.3.2 预定义封装对话框参数 324

10.4 自定义库操作 329

10.4.1 建立和使用库 330

10.4.2 库连接状态 332

10.4.3 显示库关联及信息 333

10.4.4 把用户库添加到Simulink库浏览器中 334

10.5 可配置子系统 334

10.5.1 创建可配置子系统 335

10.5.2 映射I/O端口 336

第11章 Simulink调试器 340

11.1 调试器概述 340

11.1.1 启动调试器 340

11.1.2 调试器的图形用户接口 341

11.1.3 调试器的命令行接口 341

11.1.4 调试器命令 343

11.2 调试器控制 344

11.2.1 连续运行仿真 344

11.2.2 继续仿真 344

11.2.3 单步运行仿真 346

11.3 设置断点 348

11.3.1 设置无条件断点 349

11.3.2 设置有条件断点 350

11.4 显示仿真信息 352

11.4.1 显示模块I/O 352

11.4.2 显示代数环信息 353

11.4.3 显示系统状态 354

11.4.4 显示求解器信息 354

11.5 显示模型信息 355

11.5.1 显示模型中模块的执行顺序 355

11.5.2 显示模块 356

第12章 编写M语言S-函数 360

12.1 S-函数 360

12.1.1 S-函数的定义 360

12.1.2 S-函数的工作方式 361

12.2 在模型中创建S-函数 363

12.2.1 在模型中使用S-函数 363

12.2.2 向S-函数中传递参数 364

12.2.3 何时使用S-函数 365

12.3 S-函数的概念 365

12.3.1 直接馈通 366

12.3.2 动态设置数组维数 366

12.3.3 设置采样时间和偏移量 367

12.4 编写M语言S-函数 368

12.4.1 M文件S-函数模板 368

12.4.2 定义S-Function模块特征 370

12.5 M文件S-函数范例 370

12.5.1 无状态M文件S-函数 371

12.5.2 连续状态S-函数 376

12.5.3 离散状态S-函数 382

12.5.4 混合系统S-函数 388

附录 391

附录A 模型和模块参数 391

A.1 模型参数 391

A.2 共用模块参数 411

A.3 专用模块参数 415

A.4 封装参数 425

附录B 模型和模块回调函数 429

B.1 模型回调函数 429

B.2 模块回调函数 429

附录C Simulink模块简介 432

C.1 输入源模块库(Sources) 432

C.2 接收模块库(Sinks) 433

C.3 连续系统模块库(Continuous) 434

C.4 离散系统模块库(Discretes) 435

C.5 数学运算模块库(Math Operations) 436

C.6 信号路由模块库(Signal Routing) 437

C.7 信号属性模块库(Signal Attributes) 439

C.8 非线性模块库(Discontinuous) 440

C.9 查询表模块库(Look-Up Tables) 441

C.10 用户定义函数模块库(User-Defined Functions) 441

C.11 模型验证模块库(Model Verification) 442

C.12 端口和子系统模块库(Ports & Subsystems) 443

C.13 模型实用模块库(Model-Wide Utilities) 444

附录D MATLAB可用的TeX字符集 446