目 录
第1 章系统仿真技术与应用 1
1.1 系统仿真技术概述 1
1.2 仿真模式与软件的发展概况 2
1.2.1 模拟与混合计算机仿真 2
1.2.2 数字计算机仿真语言 2
1.2.3 ACSL 仿真语言简介 3
1.3 MATLAB 与Simulink 简介 4
1.3.1 MATLAB 语言发展过程 4
1.3.2 MATLAB 语言的特色 5
1.3.3 Simulink 简介 6
1.4 本书的结构和代码 6
1.4.1 本书的结构 6
1.4.2 代码下载和网上资源 7
1.5 习题 7
参考文献 8
第2 章MATLAB 程序设计基础 9
2.1 MATLAB 语言的基本使用环境 9
2.1.1 MATLAB 语言环境操作界面 9
2.1.2 MATLAB 的联机帮助与电子版手册 10
2.2 MATLAB 语言的数据结构 10
2.2.1 变量与常量 11
2.2.2 赋值语句 12
2.2.3 矩阵的MATLAB 表示 12
2.2.4 符号变量与符号型函数 13
2.2.5 多维数组 15
2.2.6 单元数组 16
2.3 MATLAB 下简单数学运算 16
2.3.1 矩阵的代数运算 16
2.3.2 矩阵的逻辑运算 19
2.3.3 矩阵的比较关系 20
2.3.4 矩阵元素的数据变换 20
2.3.5 超越函数运算 21
2.4 流程控制结构 21
2.4.1 循环语句结构 21
2.4.2 条件转移语句结构 22
2.4.3 开关语句结构 23
2.4.4 试探式语句结构 24
2.5 MATLAB 函数编写与技巧 24
2.5.1 MATLAB 语言的函数的基本结构 24
2.5.2 函数名的命名规则 26
2.5.3 输入变元的检测 26
2.5.4 可变输入输出个数的处理 28
2.5.5 伪代码与代码保密处理 28
2.6 二维图形的绘制方法 29
2.6.1 基本二维图形绘制语句 30
2.6.2 已知数学函数的曲线绘制 31
2.6.3 带有其他选项的绘图函数 33
2.6.4 二维曲线的标注方法 34
2.6.5 在MATLAB 图形上添加文字标注 35
2.6.6 特殊图形绘制函数及举例 35
2.7 三维图形的绘制方法 36
2.7.1 三维曲线的绘制方法 36
2.7.2 三维曲面的绘制方法 37
2.7.3 局部图形的剪切处理 38
2.7.4 三维隐函数的曲面函数 39
2.8 MATLAB 图形用户界面设计技术 40
2.8.1 图形界面设计工具App Designer 40
2.8.2 简单对话框与标准对话框 42
2.8.3 菜单系统设计 43
2.8.4 界面设计举例与技巧 43
2.9 提高MATLAB 程序执行效率的技巧 46
2.9.1 测定程序执行时间和时间分配 46
2.9.2 加快MATLAB 程序执行速度的建议 46
2.9.3 分段函数的向量化计算方法 48
2.9.4 由MATLAB 调用Python 函数 49
2.10 基于人工智能大模型的半自动编程 50
2.11 习题 52
参考文献 54
第3 章科学运算问题的求解 55
3.1 解析解与数值解 55
3.2 线性代数问题及求解 56
3.2.1 特殊矩阵的MATLAB 输入 56
3.2.2 矩阵基本分析与运算 59
3.2.3 矩阵逆与广义逆运算 62
3.2.4 矩阵的相似变换与分解 63
3.2.5 矩阵的特征值与特征向量 67
3.2.6 代数方程求解 67
3.2.7 矩阵函数运算 71
3.3 微积分问题的MATLAB 求解 72
3.3.1 微积分问题的解析解运算 72
3.3.2 数值差分与微分运算 73
3.3.3 数值积分运算 75
3.3.4 双重定积分的数值求解 76
3.4 常微分方程的数值解法 77
3.4.1 常微分方程的数值解法 78
3.4.2 MATLAB 下的常微分方程求解函数 78
3.4.3 微分方程组的变换和技巧 84
3.4.4 微分方程数值解正确性的验证 86
3.4.5 微分代数方程的数值解法 86
3.4.6 线性随机微分方程的数值解法 88
3.4.7 常微分方程的解析求解方法 90
3.5 非线性方程与最优化问题求解 91
3.5.1 非线性方程组求解 91
3.5.2 多解矩阵方程的求解 93
3.5.3 无约束最优化问题求解 95
3.5.4 线性规划问题 96
3.5.5 二次型规划问题 98
3.5.6 一般非线性规划问题求解 98
3.5.7 基于问题的描述与求解方法 100
3.5.8 最优化问题的全局搜索解法 101
3.6 动态规划及其在路径规划中的应用 102
3.6.1 图的矩阵表示方法 102
3.6.2 有向图的路径寻优 103
3.6.3 无向图的路径最优搜索 105
3.7 数据插值与统计分析 105
3.7.1 一维数据的插值拟合 105
3.7.2 二维数据的插值拟合 106
3.7.3 最小二乘曲线拟合技术 108
3.7.4 数据简单排序 109
3.7.5 快速Fourier 变换 109
3.7.6 数据分析与统计处理 110
3.8 习题 114
参考文献 120
第4 章Simulink 建模与仿真 121
4.1 Simulink 库浏览器与常用模块 122
4.1.1 启动Simulink 122
4.1.2 输入输出类模块组 124
4.1.3 控制系统类模块组 125
4.1.4 信号计算与处理模块组 129
4.1.5 常用模块组 132
4.1.6 其他工具箱与模块集 132
4.2 Simulink 模型创建方法 133
4.2.1 模型窗口建立 133
4.2.2 模块的连接与简单处理 134
4.2.3 模块的参数修改 135
4.3 模型的处理与仿真分析 137
4.3.1 模型建立及建模技巧 137
4.3.2 仿真模型的模块浏览 138
4.3.3 Simulink 模块的联机帮助系统 139
4.3.4 Simulink 模型的打印与输出 140
4.3.5 仿真环境设置与Simulink 模板 140
4.3.6 Simulink 仿真结果的验证 142
4.4 Simulink 建模与仿真举例 142
4.5 线性系统建模、仿真与分析 147
4.5.1 线性系统模型的输入 147
4.5.2 线性系统模型的Simulink 表示 147
4.5.3 线性系统的分析 149
4.6 非线性随机系统的仿真方法 149
4.6.1 Simulink 下的随机信号仿真方法 150
4.6.2 仿真结果的统计分析 150
4.7 习题 153
参考文献 156
第5 章Simulink 建模与仿真技巧 157
5.1 常用建模应用技巧 157
5.1.1 向量化模块举例 157
5.1.2 Simulink 模型的信号标识与排序 160
5.1.3 Simulink 的代数环及消除方法 161
5.1.4 过零点检测 163
5.1.5 仿真过程的快速重启 164
5.2 非线性环节与查表环节构建 164
5.2.1 单值非线性模块 165
5.2.2 多值非线性记忆模块 167
5.2.3 多维查表模块 170
5.2.4 静态非线性模块的代码实现 171
5.3 微分方程的Simulink 框图求解 172
5.3.1 一般微分方程的Simulink 建模技巧 172
5.3.2 微分代数方程的Simulink 建模与求解 174
5.3.3 延迟微分方程的Simulink 求解 174
5.3.4 切换微分方程的Simulink 求解 177
5.3.5 分数阶微分方程的Simulink 求解 178
5.4 输出型模块 182
5.4.1 Sinks 模块组 182
5.4.2 信号查看器 183
5.4.3 仿真数据检查器 184
5.4.4 表盘与量计显示 184
5.4.5 输出信号的数字信号处理 186
5.4.6 避免交叉连线的方法 187
5.5 Simulink 仿真结果的三维动画显示 188
5.5.1 虚拟现实基础 188
5.5.2 Simulink 三维动画模型编辑器 189
5.5.3 Simulink 下的三维动画场景驱动 191
5.5.4 新版本的三维动画处理 192
5.6 子系统与模块封装技术 195
5.6.1 子系统的处理 195
5.6.2 条件执行子系统 197
5.6.3 模块封装技术 199
5.6.4 封装模块的图标设计 201
5.6.5 组建自己的模块库 204
5.6.6 子系统应用举例——F-14 战斗机仿真 205
5.7 习题 207
参考文献 210
第6 章Simulink 仿真的高级技术 213
6.1 Simulink 模型的语句修改 213
6.1.1 Simulink 模型与文件的处理 214
6.1.2 Simulink 模型与模型文件 214
6.1.3 用语句绘制Simulink 模型 215
6.2 系统仿真进程控制与线性化 220
6.2.1 仿真进程的命令化 220
6.2.2 Simulink 仿真的输入与输出数据结构 221
6.2.3 并行仿真 222
6.2.4 非线性模型的线性化 223
6.2.5 延迟环节的Padé 近似 226
6.2.6 非线性系统的稳定性分析 228
6.3 S-函数的编写及应用 229
6.3.1 系统的状态方程描述 230
6.3.2 一级S-函数的基本结构 230
6.3.3 S-函数的运行机制 231
6.3.4 S-函数的响应函数 231
6.3.5 S-函数编程实例 232
6.3.6 S-函数模块的封装 237
6.3.7 二级S-函数简介 238
6.3.8 二级S-函数的半自动转换 240
6.4 S-函数举例:自抗扰控制器 240
6.4.1 扩张状态观测器的建模 241
6.4.2 自抗扰控制器的建模 242
6.4.3 自抗扰控制系统的仿真 243
6.5 仿真优化举例:最优控制器设计 245
6.5.1 伺服控制的最优性能指标选择 246
6.5.2 目标函数编写及最优控制器设计 246
6.5.3 最优PID 控制器设计界面 248
6.6 基于千问3 的Simulink 建模方法 251
6.7 习题 253
参考文献 256
第7 章工程系统建模与仿真 257
7.1 物理系统建模仿真模块集Simscape 简介 257
7.1.1 数学模型与物理模型 257
7.1.2 Simscape 简介 259
7.1.3 Simscape 基础模块库简介 259
7.1.4 两类信号及其相互转换 261
7.1.5 空白物理模型窗口的创建 262
7.2 电气系统建模与仿真 262
7.2.1 基于基础模块集的建模与仿真 262
7.2.2 Simscape 语言简介 265
7.2.3 复杂电路网络建模与仿真 266
7.2.4 专业的电气系统模块集 268
7.3 电子线路及其仿真 269
7.3.1 模拟电子线路仿真举例 269
7.3.2 数字电子线路仿真举例 272
7.3.3 电力电子系统建模与仿真 275
7.4 机械系统建模与仿真 278
7.4.1 简单力学系统的仿真 278
7.4.2 Multibody 模块集简介 280
7.4.3 机构系统仿真举例 283
7.5 习题 285
参考文献 288
第8 章非工程系统的建模与仿真 289
8.1 药物动力学系统建模与仿真 289
8.1.1 药物动力学系统简介 289
8.1.2 药物动力学系统的舱室模型 290
8.1.3 基于生理的药物动力学建模及Simulink 仿真 292
8.1.4 药效学建模 297
8.1.5 麻醉过程的非线性广义预测控制 298
8.2 音频处理系统 299
8.2.1 音频处理工具箱简介 300
8.2.2 音频信息的输入与输出 300
8.2.3 常用音频模块组简介 303
8.2.4 简单音频处理系统实例 304
8.2.5 实时语音处理 306
8.2.6 基于深度学习的音频分类 307
8.3 影像与图像处理系统 308
8.3.1 图像与影像读取 309
8.3.2 图像与影像的显示与输出 310
8.3.3 图像处理基本模块介绍 311
8.3.4 图像与影像的处理入门 314
8.3.5 图像影像的实时处理 319
8.4 有限状态机仿真及Stateflow 应用 322
8.4.1 有限状态机简介 322
8.4.2 Stateflow 应用基础 323
8.4.3 Stateflow 建模举例 325
8.5 基于SimEvents 的离散事件系统仿真方法 330
8.5.1 离散事件动态系统基本概念 330
8.5.2 SimEvents 模块集简介 331
8.5.3 离散事件系统仿真演示 332
8.6 习题 337
参考文献 338
MATLAB 函数名索引 341
术语索引 347
