第1章 概论 1
1.1 MATLAB的发展历程和影响 1
1.2 MATLAB 6.0的基本组成和特点 2
1.2.1 MATLAB的语言部分 2
1.2.2 MATLAB的工作环境 4
1.2.3 MATLAB的视图系统 5
1.2.4 MATLAB的数学函数库 7
1.2.5 MATLAB与外部程序的交互 8
1.3 与MATLAB 6.0配用的Simulink 3.0 8
1.3.1 Simulink的传统优点 8
1.3.2 Simulink 3.0的特点 9
第2章 M文件和面向对象编程 10
2.1 入门 11
2.1.1 编写和运行 11
2.1.2 规则和属性 12
2.2 MATLAB控制流 18
2.2.1 for循环结构 18
2.2.2 while循环结构 19
2.2.3 if-else-end分支结构 19
2.2.4 switch-case结构 20
2.3.1 M文件的一般结构 21
2.2.5 try-catch结构 21
2.3 脚本文件和函数文件 21
2.3.2 “变长度”输入输出宗量 22
2.4 跨空间变量传递 24
2.4.1 跨空间计算串表达式的值 24
2.4.2 跨空间赋值 25
2.5 串演算函数 25
2.5.1 eval 25
2.5.2 feval 26
2.6 内联函数创建和应用示例 26
2.7 调试器应用示例 28
2.8 M文件性能分析 31
2.8.1 分析器 31
2.9 面向对象编程 32
2.9.1 面向对象编程应用示例 32
2.10 继承性创建子类的示例 37
第3章 图形用户界面的制作 40
3.1 入门 40
3.2 界面菜单 43
3.2.1 图形窗的标准菜单 43
3.2.3 用户菜单的属性 44
3.2.2 自制的用户菜单 44
3.2.4 现场菜单的制作 50
3.3 用户控件 50
3.3.1 双位按键、无线电按键、控件区域框示例 50
3.3.2 静态文本框、滑动键、检录框示例 52
3.3.3 可编辑框、弹出框、列表框、按键示例 54
3.4 由M函数文件产生用户菜单和控件 56
3.4.1 利用全局变量编写用户界面函数文件 56
3.4.2 利用‘UserData’属性编写用户界面函数文件 57
3.4.3 利用递归法编写用户界面函数文件 57
3.5 图形用户界面设计工具 59
3.5.1 交互式用户界面设计工具应用示例 60
3.5.2 为读者提供的配套文件和数据 63
第4章 Simulink入门 68
4.1 Simulink概述 68
4.1.1 什么是Simulink 68
4.1.2 Simulink模型的特点 70
4.2 Simulink入门 74
4.3 熟悉Simulink模型窗口 78
4.4 键盘和鼠标的操作 84
4.5 模块库简介 86
5.1.1 Simulink里的模块 91
第5章 Simulink详解 91
5.1 Simulink的模块和模块库 91
5.1.2 Simulink的模块库 96
5.2 模拟方程 100
5.3 Simulink里的数据类型 103
5.3.1 Simulink支持的数据类型 103
5.3.2 数据类型的传递 105
5.3.3 在模型里使用复数信号 106
5.4 建立子系统 107
5.4.1 建立子系统 107
5.4.2 用子系统来定义库 109
5.5 封装子系统 111
5.5.1 子系统封装示例 111
5.5.2 initialization页 114
5.5.3 icon页(图标页) 120
5.5.4 documentation页 124
5.5.5 为封装的模块建立动态对话框 124
5.6 建立条件子系统 126
5.6.1 使能子系统 126
5.6.2 触发子系统 128
5.6.3 触发使能子系统 130
第6章 Simulink调试器 132
6.1 使用调试器 132
6.2 增量运行模型 135
6.3 设置断点 138
6.3.1 非条件中断 138
6.3.2 条件中断 140
6.4 显示仿真有关的信息 142
6.4.1 显示模块的输入和输出(I/O) 142
6.4.3 显示系统 145
6.4.2 显示代数环信息 145
6.4.4 显示积分信息 146
6.5 显示模型的信息 146
6.6 Simulink 4.0的图形调试工具 148
6.7 调试命令使用详解 151
第7章 仿真运行和结果分析 159
7.1 使用菜单命令运行仿真 159
7.2 仿真参数对话框 161
7.2.1 Solver页 161
7.2.2 Workspace I/O页 165
7.2.3 Diagnosities页 171
7.2.4 Advanced页 173
7.3 改善仿真的性能和精确度 175
7.3.1 加速仿真 175
7.3.2 改善仿真的精度 176
7.4 从命令运行仿真 176
7.4.1 使用sim命令 176
7.4.2 使用set_param命令 177
7.5 分析仿真结果 177
7.5.1 观看输出结果的轨迹 177
7.5.2 线性化 181
7.5.3 平衡点的分析 186
第8章 深入理解Simulink 191
8.1 Simulink如何工作 191
8.1.1 基本模型 191
8.1.2 进行仿真 192
8.1.3 过零检测 193
8.2 代数环 198
8.2.1 直接馈入环路(direct feedthrogh)一代数环 198
8.2.2 非代数直接馈入环路 200
8.3 离散时间系统 200
8.4.1 回调函数基本概念 204
8.4 使用回调函数 204
8.4.2 回调函数示例 208
8.5 模型文件格式 211
第9章 使用Real-Time Workshop 223
9.1 Real-Time Workshop概述 223
9.1.1 Real-Time Workshop能做什么 223
9.1.2 使用前的准备工作 224
9.1.3 RTW中的基本概念 225
9.2 生成普通的实时程序 226
9.2.1 Simulink模型 227
9.2.2 生成实时代码 228
9.2.3 代码验证 233
9.3 代码生成和建立过程 237
9.3.1 自动程序建立 237
9.3.2 Real-Time Workshop用户界面 238
9.4 外部模式 243
9.4.1 介绍 243
9.4.2 使用grt(普通实时目标)的外部模式入门 244
9.4.3 外部模式GUI 249
9.4.4 外部模式的TCP/IP 252
9.5 RTW代码库 253
9.5.1 Custom Code Library(自定义代码库) 254
9.5.2 使用自定义代码模块示例 256
第10章 用S-函数扩展Simulink 259
10.1 S-函数综述 259
10.1.1 什么是S-函数 259
10.1.2 S-函数如何工作 264
10.1.3 M文件和C MEX文件S-函数综述 266
10.1.4 S-函数概念 266
10.2 建立M文件S-函数 269
10.2.1 如何使用模板 269
10.2.2 定义S-函数的初始信息 276
10.2.3 输入和输出参量说明 278
10.2.4 M文件S-函数的几个示例 279
10.3 C MEX S-函数 294
10.3.1 介绍 294
10.3.2 编写基本的C MEX S-函数 295
10.3.3 建立更复杂的C MEX S-函数 301
10.4 建立C++S-函数 304
10.4.1 源文件格式 304
10.4.2 建立永久C++对象 308
附录A 常用“关键符(词)” 310
附录B Internet资源 334