标题：MATLAB宝典(第3版)
图书信息
书名：MATLAB宝典（第3版）  　　作者：陈杰  等编著
ISBN：978-7-121-12218-7
出版日期：2011年1月 
定价：99.00元（含光盘1张）
宣传语
本书第一版上市4年以来多次印刷，长期雄踞MATLAB图书销售排行榜前列
内 容 简 介
《MATLAB宝典》的前两版由于讲解细致、内容全面而深受广大读者的喜爱，上市以来长期占据各大MATLAB类图书排行榜的前列。根据广大读者的反馈，作者对第2版进行了调整，并增加了这几年工作中新的MATLAB应用体会。
本书由浅入深、循序渐进地介绍了MATLAB的知识体系及操作方法。全书共分为7个部分23章，另外在光盘上附赠2个章节。其中主要介绍了如何使用MATLAB进行数据分析、数据可视化的方法、MATLAB编程、图形用户界面、MATLAB仿真，以及文件输入/输出、编译器和应用程序接口等高级技术。本书最大的特色在于每一节的例子都经过精挑细选，具有很强的针对性，力求让读者通过亲自动手做而掌握基本参数及制作技巧，学习尽可能多的知识。
本书适用于初、中级MATLAB用户，同时也适合使用MATLAB的本科生、研究生和教师以及广大科研工作人员作为参考用书。
前    言
MATLAB是Mathworks公司推出的一套高性能数值计算和可视化软件，它集数值分析、矩阵运算、信号处理和图形显示于一体，在系统建模和仿真、科学和工程绘图及应用程序开发等方面有着广泛应用。MATLAB以著名的线性代数软件包LINPAK和特征值计算软件包EISPACK的子程序为基础，发展为一种开发性程序设计软件，因此MATLAB已经由简单的矩阵计算软件分析发展成为通用性极高、带有多种实用工具的运算操作平台。
为了帮助众多从业者提高软件使用及操作水平，作者精心编著了本书。本书依照读者的学习规律，首先介绍基本概念和基本操作，在读者掌握了这些基本概念和基本操作的基础上，再对内容进行深入的讲解，严格遵循由浅入深、循序渐进的原则。本书按照MATLAB内在的联系将各种工具、命令和命令面板交织编排在一起，这样编排虽然不像帮助文档那样有层次感，但是对理解和掌握MATLAB却是大有帮助的。
本书在内容的编排和目录组织上都十分讲究，争取让读者能够快速掌握软件的使用方法。讲解具体知识的时候，尽量避免冗长的知识讲解，直接切入主题，告诉读者如何实现特定功能，让读者在实际操作中熟悉软件的使用。
和其他书籍相比，本书有何特点
1．取材广泛，内容充实
作者在讲解每一个知识点之前，充分考虑了MATLAB的知识和实践工作的结合，精心挑选数学研究、图形设计、工程运用等各个领域的应用，使读者不仅仅单纯地学到MATLAB的操作技巧，而且对创意、思路有所提高。
2．内容深入
本书的所有实例都有一定的代表性和通用性，并不是为单纯介绍某个命令而选取的，因此有些实例的步骤比较多，综合了MATLAB的多个知识点，能够提高用户综合使用知识的能力。
3．讲解仔细
每个实例的制作步骤都以通俗易懂的语言阐述，并穿插讲解和技巧文字，在阅读时就像听课一样详细而贴切。读者只需按照步骤操作，就可以学习到MATLAB的相关功能。
本书包括的内容
本书总共包括8个部分25章的内容，全面地介绍了MATLAB的各方面应用，下面详细介绍各章节的内容。
第1部分（第1章至第4章）介绍了MATLAB的基础知识，主要包括MATLAB概述、数组、矩阵和架构及矩阵分析。
第2部分（第5章至第9章）主要讲解如何使用MATLAB进行数据分析，内容包括函数分析和数值运算、高级数值运算、优化、常微分方程和符号运算。
第3部分（第10章和第11章）详细分析了数据可视化的方法，主要讲解了二维图形和三维图形的内容。
第4部分（第12章和第13章）介绍了MATLAB编程的内容，主要包括MATLAB编程的基础知识和高级话题。
第5部分（第14章至第17章）详细讲解了图形用户界面的内容，主要包括句柄图形、GUI基础、创建菜单和添加控件等。
第6部分（第18章至第20章）主要介绍了MATLAB仿真的内容，包括Simulink基础知识、Simulink建模和子系统、S函数和仿真结果分析。
第7部分（第21章至第23章）讲解了MATLAB的高级应用，包括文件输入/输出、编译器和应用程序接口。
第8部分（第24章和第25章）将放在随书附赠的光盘中，主要内容是用户工具箱，主要介绍了图形图像工具箱和信号工具箱。
读者评价摘选
本书第一版上市以来获得喜人销量，同时得到了读者的广泛好评。下面节选几位热心读者在当当网上的评价，以飨读者。
很实用的一本书！而且讲得也比较系统。
——网友ID：zml829@***.***
堪称MATLAB界的权威之作！
——网友ID：liuyanhe
内容非常丰富！对于科研来说已经足够！赞一个！
——网友ID：yanxhia
尽管作为一个初学者，但是拥有《MATLAB宝典》，我确实能自由应对美国大学生数学建模比赛的各种情况了。希望在初学阶段，每个人都拥有一本。不必记住所有，但能运用一切。
——网友ID：沙滩红叶
本书作者
本书主要由陈杰编写。其他参与编写的人员有张增强、于锋、张伟、曾广平、刘海峰、刘涛、赵宝永、郑莲华、张涛、杨强、陈涛、罗渊文、李居英、郭永胜等。在此对所有参与编写的人表示感谢！
本书知识全面、实例精彩、指导性强，力求以全面的知识性及丰富的实例来指导读者透彻学习MATLAB各方面的技术。本书适用于初、中级MATLAB用户，同时也适合使用MATLAB的本科生、研究生和教师以及广大科研工作人员作为参考用书，对高级读者也有一定的启发意义。
作者
2010年岁末
目    录
第1部分  MATLAB基础知识 1
第1章  MATLAB概述 2
1.1  MATLAB 7简介 2
1.2  MATLAB 7的安装 2
1.3  MATLAB 7的工作环境 5
1.3.1  操作界面简介 6
1.3.2  运行命令窗口 6
1.3.3  命令窗口的显示方式 7
1.3.4  数值结果的显示方式 9
1.3.5  命令窗口的标点符号 10
1.3.6  输入变量 12
1.3.7  处理复数 14
1.3.8  命令窗口的控制命令 15
1.3.9  使用历史窗口 16
1.3.10 使用实录命令 20
1.3.11 当前目录浏览器和路径管理 21
1.3.12 设置当前目录 22
1.3.13  MATLAB的搜索路径 23
1.3.14 工作空间浏览器和数组编辑器 25
1.3.15 变量的编辑命令 26
1.3.16 数组编辑器 27
1.3.17 存取数据文件 28
1.4  MATLAB 7的帮助系统 30
1.4.1  纯文本帮助 30
1.4.2  演示（demo）帮助 31
1.4.3  帮助导航/浏览器 33
1.4.4  Contents帮助文件目录窗口 34
1.4.5  Index帮助文件索引窗口 35
1.4.6  Search帮助文件搜索窗口 35
1.5  小结 36
第2章  数组 37
2.1  创建数值数组 37
2.1.1  一维数组的创建方法 37
2.1.2  二维数组的创建方法 38
2.1.3  使用下标创建三维数组 39
2.1.4  使用低维数组创建三维数组 40
2.1.5  使用创建函数创建三维数组 41
2.1.6  创建低维标准数组 43
2.1.7  创建高维标准数组 44
2.2  操作数值数组 45
2.2.1  选取低维数组的对角元素 45
2.2.2  低维数组的形式转换 46
2.2.3  选取三角矩阵 47
2.2.4  Kronecker乘法 49
2.2.5  高维数组的对称交换 50
2.2.6  高维数组的维序号移动 51
2.2.7  高维数组的广义共轭转置 52
2.2.8  高维数组的降维操作 53
2.3  小结 54
第3章  矩阵和架构 55
3.1  稀疏矩阵 55
3.1.1  稀疏矩阵的存储方式 55
3.1.2  创建稀疏矩阵——使用sparse命令 56
3.1.3  创建稀疏矩阵——使用spdiags命令 57
3.1.4  查看稀疏矩阵的信息 58
3.1.5  稀疏矩阵的图形化信息 59
3.2  字符串数组 60
3.2.1  创建字符串数组——直接输入法 61
3.2.2  创建字符串数组——使用ASCII码 61
3.2.3  创建字符串数组——使用函数 62
3.2.4  处理字符串数组的空格 63
3.2.5  读取字符串数组的信息 64
3.3  构架数组 65
3.3.1  创建单构架数组——使用直接法 66
3.3.2  创建二维构架数组 67
3.3.3  创建三维构架数组 68
3.3.4  使用命令创建构架数组 69
3.3.5  访问构架数组的数据 69
3.3.6  设置构架数组的域属性 72
3.4  小结 74
第4章  矩阵分析 75
4.1  矩阵计算 75
4.1.1  进行范数分析——使用norm函数 75
4.1.2  进行范数分析——使用normest函数 78
4.1.3  条件数分析 80
4.1.4  数值矩阵的行列式 81
4.1.5  符号矩阵的行列式 82
4.1.6  矩阵的化零矩阵 83
4.2  线性方程组 84
4.2.1  非奇异线性方程组 84
4.2.2  奇异线性方程组 85
4.2.3  欠定线性方程组 87
4.2.4  超定线性方程组 88
4.3  矩阵分解 89
4.3.1  Cholesky分解 89
4.3.2  使用Cholesky分解求解方程组 91
4.3.3  不完全Cholesky分解 92
4.3.4  LU分解 93
4.3.5  不完全LU分解 96
4.3.6  QR分解 100
4.3.7  操作QR分解结果 101
4.3.8  奇异值分解 105
4.4  特征值分析 107
4.4.1  特征值和特征向量 107
4.4.2  稀疏矩阵的特征值和特征向量 110
4.4.3  特征值问题的条件数 111
4.4.4  特征值的复数问题 113
4.5  小结 114
第2部分  数据分析 115
第5章  函数分析和数值运算 116
5.1  函数的零点 116
5.1.1  一元函数的零点 116
5.1.2  多元函数的零点 118
5.2  数值积分 120
5.2.1  一元函数的数值积分 120
5.2.2  使用Simulink求解数值积分 122
5.2.3  求解瑕积分 123
5.2.4  矩形区域的多重数值积分 124
5.2.5  变量区域的多重数值积分 125
5.3  概率论和数理统计 129
5.3.1  双变量的概率分布 129
5.3.2  不同概率分布 131
5.3.3  数据分布分析 132
5.3.4  假设检验 133
5.4  小结 138
第6章  高级数值运算 139
6.1  插值 139
6.1.1  一维插值 139
6.1.2  人口数量预测——一维插值实例 140
6.1.3  二维插值 143
6.1.4  绘制二元函数图形——二维插值实例 144
6.1.5  样条插值 146
6.1.6  牛顿插值 147
6.1.7  多项式插值——牛顿插值实例 148
6.1.8  Chebyshev多项式插值 150
6.1.9  多项式插值——Chebyshev多项式插值实例 150
6.2  曲线拟合 152
6.2.1  多项式拟合 153
6.2.2  加权最小方差拟合 154
6.2.3  数据拟合——适用加权最小方差WLS方法 154
6.3  曲线拟合图形界面 158
6.3.1  曲线拟合 158
6.3.2  绘制拟合残差图形 160
6.3.3  进行数据预测 161
6.4  傅里叶分析 163
6.4.1  离散傅里叶变换 163
6.4.2  FFT和DFT 165
6.4.3  DFT的物理含义 166
6.4.4  使用DFS进行插值 168
6.5  小结 171
第7章  优化 172
7.1  常见优化问题 172
7.1.1  无约束非线性优化 172
7.1.2  求解二元函数的最小值——无约束非线性优化 173
7.1.3  非线性最小方差 177
7.1.4  计算函数的非线性最小方差 177
7.1.5  有约束的非线性优化 179
7.1.6  计算多元函数的极值——有约束的非线性优化 180
7.1.7  最小最大值的优化问题 183
7.1.8  优化对比 186
7.1.9  线性规划 187
7.1.10 二次规划 190
7.1.11 使用遗传算法求解二次规划 191
7.2  使用遗传算法求解优化 193
7.2.1  分析目标函数 194
7.2.2  优化求解 195
7.2.3  添加结果的可视性 197
7.2.4  设置算法的属性 198
7.2.5  设置“种群”属性 198
7.2.6  设置“中止”属性 200
7.3  优化“Banana”函数——优化方法对比 201
7.3.1  分析目标函数 201
7.3.2  BFGS优化法求解 203
7.3.3  DFP优化法求解 204
7.3.4  “无约束非线性”优化求解 206
7.3.5  “最小方差”优化求解 207
7.4  绘制帐篷——复杂的二次规划 208
7.4.1  设置约束条件 208
7.4.2  定义目标函数 210
7.4.3  进行优化求解 211
7.4.4  绘制优化求解的结果 213
7.5  小结 214
第8章  常微分方程 215
8.1  显性常微分方程 215
8.1.1  刚性和非刚性方程组 216
8.1.2  设置允许误差属性 219
8.1.3  设置输出参数属性 221
8.1.4  设置解法器其他属性 225
8.2  加权常微分方程 227
8.3  延迟微分方程 230
8.4  常微分方程的边界问题 232
8.4.1  MATLAB求解边界问题——bvp4c命令 232
8.4.2  求解带边界的常微分方程 233
8.5  小结 236
第9章  符号计算 237
9.1  符号对象和符号表达式 237
9.1.1  创建符号对象——使用sym命令 237
9.1.2  创建符号对象——使用syms命令 240
9.1.3  符号计算的运算符和函数 241
9.1.4  识别对象 242
9.1.5  确定符号表达式中的变量 243
9.2  符号精度计算 244
9.3  操作符号表达式 245
9.3.1  合并表达式——collect函数 246
9.3.2  展开表达式——expand函数 247
9.3.3  因式分解——factor函数 248
9.3.4  嵌套表达式——horner函数 249
9.3.5  计算最小分母公因式——numden函数 250
9.3.6  简化表达式——simplify函数 251
9.3.7  最简化表达式——simple函数 252
9.3.8  按书写方式显示表达式——pretty函数 254
9.4  替换符号表达式 256
9.4.1  替换重复字符串——subexpr函数 256
9.4.2  替换特定符号——subs函数 257
9.5  符号函数 259
9.5.1  求反函数——finverse函数 259
9.5.2  求复合函数——compose函数 260
9.6  符号微积分 261
9.6.1  求微分——diff函数 261
9.6.2  化简微分结果 262
9.6.3  求解矩阵微分 263
9.6.4  向量微分jacobian函数 264
9.6.5  符号极限 265
9.6.6  求解无限极限 266
9.6.7  求解左右极限 266
9.6.8  符号积分 267
9.6.9  矩阵积分 269
9.6.10 证明积分等式 269
9.6.11 交互近似积分 270
9.6.12 符号级数求和 272
9.7  符号积分变换 273
9.7.1  傅里叶变换 273
9.7.2  拉普拉斯变换 275
9.7.3  Z变换 276
9.8  符号矩阵的计算 277
9.8.1  线性代数运算 277
9.8.2  特征值运算 280
9.9  符号代数方程的求解 282
9.9.1  solve命令 283
9.9.2  求解非线性方程组 283
9.9.3  求解含参数方程组 283
9.9.4  求解超越方程组 284
9.10 符号微分方程的求解 284
9.10.1  dsolve命令 285
9.10.2 求解常微分方程 285
9.10.3 求解二阶常微分方程 286
9.10.4 求解常微分方程组 286
9.11 利用maple的资源 287
9.11.1 调用maple的相关命令 287
9.11.2 查看maple的帮助 289
9.12 可视化符号分析 290
9.12.1 单变量函数分析界面 291
9.12.2 泰勒级数逼近分析界面 293
9.13 小结 294
第3部分  数据可视化 295
第10章  二维图形 296
10.1  图形的基础知识 296
10.1.1  离散数据（函数）的可视化 296
10.1.2  连续函数的可视化 297
10.1.3  绘制图表的基础步骤 299
10.2  绘制二维图形 299
10.2.1  绘制二维图形——使用plot命令 300
10.2.2  设置曲线的属性 302
10.2.3  设置坐标轴范围 304
10.2.4  设置坐标轴显示方式 305
10.2.5  设置坐标轴系统 306
10.2.6  图形标识 307
10.2.7  叠绘 309
10.2.8  绘制双坐标轴图形 311
10.2.9  绘制多子图 312
10.2.10 交互式图形 313
10.2.11 使用fplot命令绘制图形 315
10.2.12 使用ezplot命令绘制图形 316
10.3  特殊图形 318
10.3.1  绘制面积图 318
10.3.2  绘制直方图 319
10.3.3  绘制二维饼图 321
10.3.4  绘制矢量图 321
10.3.5  绘制等高线 322
10.3.6  绘制伪色彩图 323
10.3.7  绘制误差棒 324
10.3.8  绘制二维离散杆图 325
10.3.9  绘制散点图 326
10.3.10 极坐标图形 328
10.3.11 柱坐标图形 328
10.4  小结 329
第11章  三维图形 330
11.1  绘制三维曲线 330
11.1.1  绘制三维图形——plot3命令 330
11.1.2  绘制三维曲线图——mesh命令 331
11.1.3  绘制等高线 333
11.1.4  绘制曲面图——surf命令 333
11.2  编辑三维图形 335
11.2.1  控制视角——view命令 335
11.2.2  控制旋转——rotate命令 336
11.2.3  设置背景颜色 338
11.2.4  设置图形颜色 339
11.2.5  设置数值轴的颜色 340
11.2.6  添加颜色标尺 341
11.2.7  设置图形的着色 343
11.2.8  控制照明——light命令 344
11.2.9  控制照明——lighting命令 345
11.2.10 控制材质——material命令 345
11.2.11 控制透视 346
11.2.12 控制透明 347
11.3  三维图形的简易命令 349
11.4  四维图形 351
11.4.1  绘制切片图——slice命令 351
11.4.2  绘制切面等位线图 352
11.4.3  绘制流线切面图 353
11.5  图形窗口 353
11.5.1  创建和控制图形窗口 354
11.5.2  使用工具栏编辑图形 355
11.5.3  使用绘图工具编辑图形 358
11.5.4  使用图形窗口进行数据分析 364
11.6  绘制复数变量图形 367
11.6.1  绘制复数图形原理 367
11.6.2  绘制复数图形——CPLXMAP命令 368
11.6.3  绘制复数曲面图——CPLXROOT命令 369
11.7  图形的打印和输出 370
11.7.1  图形打印的菜单操作方式 370
11.7.2  图形打印的命令操作方式 372
11.8  小结 372
第4部分  MATLAB编程 373
第12章  MATLAB编程基础知识 374
12.1  简单实例——排序函数 374
12.1.1  编写函数文件 374
12.1.2  编写脚本文件 376
12.1.3  运行代码 377
12.1.4  检测代码 378
12.2  M文件编辑器 379
12.2.1  打开文件编辑器 379
12.2.2  设置M文件编辑器的属性 380
12.2.3  设置M文件编辑器的打印属性 382
12.3  MATLAB的变量和关系式 383
12.3.1  M文件的变量类型 383
12.3.2  M文件的关键字 384
12.3.3  关系表达式 384
12.3.4  关系表达式的优先级 386
12.3.5  截断误差问题 387
12.3.6  逻辑表达式 388
12.3.7  逻辑运算函数 390
12.4  程序结构 390
12.4.1  顺序结构 390
12.4.2  if分支结构 391
12.4.3  switch分支结构 394
12.4.4  try-catch结构 395
12.4.5  while循环结构 396
12.4.6  for循环结构 398
12.4.7  绘制抛物线轨迹——综合实例 400
12.5  控制语句 404
12.5.1  结束循环——continue命令 404
12.5.2  终止循环——break命令 405
12.5.3  转换控制——return命令 406
12.5.4  输入控制权——input命令 407
12.5.5  使用键盘——keyboard命令 408
12.5.6  提示警告信息——error和warning命令 408
12.6  小结 410
第13章  MATLAB编程高级话题 411
13.1  程序的向量化 411
13.1.1  程序的向量化 411
13.1.2  向量化和循环结构对比 413
13.1.3  逻辑数组 415
13.1.4  使用logical命令创建逻辑数组 415
13.1.5  逻辑数组和向量化 416
13.2  脚本和函数 418
13.2.1  编写脚本文件 418
13.2.2  编写函数文件 419
13.2.3  编写P码文件 420
13.3  变量传递 421
13.3.1  变量检测命令 421
13.3.2  “变长度”变量函数 422
13.3.3  跨空间计算表达式的数值 426
13.3.4  跨空间赋值 428
13.4  字符串演算函数 429
13.4.1  内联函数——inline 429
13.4.2  求解函数零点 429
13.4.3  绘制函数图形 431
13.4.4  求解最值 433
13.5  程序的调试和剖析 435
13.5.1  直接调试法 435
13.5.2  工具调试法 438
13.5.3  程序剖析 441
13.6  小结 444
第5部分  图形用户界面 445
第14章  句柄图形 446
14.1  句柄图形体系 446
14.1.1  图形对象 447
14.1.2  句柄对象 447
14.1.3  句柄图形的结构 447
14.1.4  图形对象的属性 448
14.2  图形句柄的操作 448
14.2.1  创建图形对象 449
14.2.2  访问图形对象的句柄 451
14.2.3  使用句柄操作图形对象 453
14.3  图形对象的操作 455
14.3.1  设置图像属性——set命令 455
14.3.2  使用结构体设置属性 457
14.3.3  查询图形对象的属性——get命令 460
14.3.4  查看图形对象的默认属性 462
14.3.5  设置不同级别的属性 463
14.3.6  设置图形对象的默认属性 465
14.4  高层绘图命令 466
14.4.1  设置父对象属性——NextPlot属性 467
14.4.2  检查NextPlot属性——newplot命令 467
14.4.3  高层绘图文件的构成 468
14.5  坐标轴对象 469
14.5.1  坐标轴的几何属性 469
14.5.2  坐标轴的刻度属性 471
14.5.3  坐标轴的照相机属性 472
14.6  综合实例 474
14.6.1  穿越图形 475
14.6.2  动态反射图形 478
14.7  小结 485
第15章  图形用户界面基础 486
15.1  图形用户界面概述 486
15.2  使用M文件创建GUI对象 487
15.2.1  编写程序代码 487
15.2.2  运行程序代码 492
15.3  使用GUIDE创建GUI对象 494
15.3.1  启动GUIDE 494
15.3.2  添加“编辑框”控件 496
15.3.3  查看程序代码 497
15.3.4  运行GUI对象 497
15.3.5  创建GUI的注意事项 498
15.4  小结 500
第16章  创建菜单 501
16.1  定制标准菜单 501
16.2  使用GUIDE创建自定义菜单 502
16.2.1  创建图形界面 503
16.2.2  设置菜单属性 506
16.2.3  添加控件 507
16.2.4  添加“File”菜单的回调函数 509
16.2.5  添加“Thresholding Method”菜单的回调函数 511
16.2.6  添加“滚动条”控件的回调函数 517
16.2.7  添加其他控件的回调函数 519
16.2.8  编写主调函数 520
16.2.9  运行GUI对象 521
16.3  使用M文件创建自定义菜单 523
16.3.1  演示GUI的功能 523
16.3.2  添加“File”菜单的功能代码 524
16.3.3  添加“Options”菜单的功能代码 526
16.3.4  添加“Graphs”菜单的功能代码 527
16.3.5  添加主调函数 531
16.3.6  运行GUI对象 533
16.4  创建快捷菜单 535
16.4.1  编写程序代码 535
16.4.2  运行GUI对象 540
16.5  小结 542
第17章  添加控件 543
17.1  创建GUI对象的用户控件 543
17.1.1  添加控件组件 544
17.1.2  添加控件的功能代码 547
17.1.3  运行程序代码 553
17.2  图像切割界面——综合案例 555
17.2.1  分析GUI对象 556
17.2.2  规划GUI的设计过程 556
17.2.3  创建GUI的工具栏对象 557
17.2.4  准备图形对象的基础文件 558
17.2.5  处理指针对象 567
17.2.6  设置图形对象的属性 571
17.2.7  编写主程序代码 574
17.2.8  设置GUI对象的菜单选项 601
17.2.9  检测程序代码 612
17.3  小结 618
第6部分  MATLAB仿真 619
第18章  Simulink基础知识 620
18.1  Simulink概述 620
18.1.1  安装Simulink 621
18.1.2  启动Simulink 622
18.2  一个简单的仿真系统 622
18.2.1  添加模块 623
18.2.2  设置模块属性 624
18.2.3  连接模块 626
18.2.4  运行仿真系统 627
18.3  Simulink的工作环境 628
18.3.1  Simulink模型窗口界面 630
18.3.2  使用“File”菜单 631
18.3.3  使用“Edit”菜单 632
18.3.4  使用“View”菜单 633
18.3.5  使用“Simulation”菜单 635
18.3.6  使用“Help”菜单 636
18.4  Simulink中的数据类型 636
18.4.1  Simulink支持的数据类型 637
18.4.2  数据传递 639
18.4.3  向量化模块 641
18.4.4  使用Mux模块 642
18.4.5  标量扩展 644
18.5  Simulink的基本操作 645
18.5.1  Simulink模型的工作原理 645
18.5.2  操作模块 646
18.5.3  显示模块的属性 647
18.5.4  显示输出数值 648
18.5.5  连接线的分支 649
18.5.6  彩色显示信号线 650
18.5.7  设置连接线的属性 651
18.6  Simulink的信号 651
18.6.1  创建信号 651
18.6.2  添加信号标签 652
18.6.3  复数信号 652
18.6.4  虚拟信号 653
18.6.5  控制信号 655
18.6.6  信号总线 657
18.6.7  信号组 661
18.6.8  使用自定义信号源 666
18.6.9  信号接收器 668
18.7  Simulink仿真的设置 672
18.7.1  设置解算器参数 673
18.7.2  仿真数据的输入输出设置 674
18.7.3  仿真诊断设置 676
18.8  小结 677
第19章  Simulink建模和子系统 678
19.1  Simulink线性系统建模 678
19.1.1  线性系统建模简介 678
19.1.2  求解抛投小球的轨迹 680
19.1.3  求解二阶微分方程 682
19.1.4  使用传递函数 686
19.1.5  使用状态方程 687
19.1.6  “积分器”模块的工作原理 688
19.2  非线性系统建模 689
19.2.1  非线性系统建模简介 690
19.2.2  求解非线性摩擦模型 692
19.3  子系统 699
19.3.1  子系统的基础知识 699
19.3.2  创建子系统 699
19.3.3  使用模块组合子系统 701
19.4  信号输出系统——子系统实例 703
19.4.1  添加控制信号 703
19.4.2  添加子系统模块 704
19.4.3  运行仿真系统 706
19.5  封装子系统 707
19.5.1  封装子系统的创建方法 708
19.5.2  封装子系统的步骤 708
19.6  ABS系统——封装子系统实例 711
19.6.1  添加“Bang-bang controller”子系统 711
19.6.2  添加“brake torque”子系统 713
19.6.3  添加“tire torque”子系统 713
19.6.4  添加子系统的程序代码 715
19.6.5  添加“Subsystem”子系统 717
19.6.6  运行仿真系统 719
19.7  使能子系统 721
19.7.1  创建使能子系统 721
19.7.2  信号输出系统——使能子系统实例 722
19.8  触发子系统 726
19.8.1  触发子系统简介 726
19.8.2  触发子系统的属性 726
19.9  触发子系统实例 728
19.9.1  添加系统模块 729
19.9.2  设置“Throttle & Manifold”子系统属性 730
19.9.3  设置“Intake”子系统属性 731
19.9.4  设置“Compression”子系统属性 732
19.9.5  设置“Combustion”子系统属性 733
19.9.6  设置“Drag Torque”子系统属性 733
19.9.7  设置“Vehicle Dynamics”子系统属性 734
19.9.8  设置“valve timing”子系统属性 734
19.9.9  运行仿真系统 735
19.10 小结 736
第20章  S函数和仿真结果分析 737
20.1  S函数 737
20.1.1  S函数概述 737
20.1.2  S函数的运行机理 738
20.1.3  S函数模板 738
20.1.4  添加S函数模块 741
20.1.5  添加S函数程序代码 743
20.1.6  运行仿真 745
20.2  振荡运行系统——S函数综合实例 746
20.2.1  添加系统模块 746
20.2.2  添加S函数的程序代码 748
20.2.3  添加子系统模块 750
20.2.4  运行仿真系统 753
20.3  分析仿真结果 754
20.3.1  分析Simulink模型的特征 754
20.3.2  使用Sim命令 756
20.3.3  使用simset命令 757
20.3.4  模型的线性化 760
20.3.5  系统平衡点分析 762
20.4  交替执行系统——综合实例1 764
20.4.1  添加系统模块 764
20.4.2  设置系统模块的属性 765
20.4.3  添加“Enabled”子系统 768
20.4.4  运行仿真系统 771
20.5  雷达轨迹分析——综合实例2 772
20.5.1  系统模块简介 772
20.5.2  添加系统模块 772
20.5.3  添加“Cross-Axis Acceleration Model”子系统 775
20.5.4  添加“Cartesian to Polar”子系统 775
20.5.5  添加“Radar Kalman Filter”子系统 777
20.5.6  添加程序代码 779
20.5.7  运行仿真系统 781
20.6  小结 782
第7部分  高级应用 783
第21章  文件I/O 784
21.1  处理文件名称 784
21.2  打开和关闭文件 786
21.2.1  打开文件 786
21.2.2  关闭文件 788
21.3  处理二进制文件 789
21.3.1  读取M文件 789
21.3.2  读取TXT文件 792
21.3.3  写入二进制文件 794
21.4  处理文本文件 795
21.4.1  读取文本文件 795
21.4.2  使用csvwrite命令读入文本文件 800
21.4.3  使用dlmwrite命令读入文本文件 801
21.5  处理图像 802
21.6  小结 805
第22章  MATLAB编译器 806
22.1  编译器概述 806
22.1.1  编译器的功能 806
22.1.2  Complier 4.0的性能改进 807
22.2  编译器的安装和配置 807
22.2.1  前提准备 807
22.2.2  配置编译器 808
22.3  编译过程 813
22.3.1  安装MCR 813
22.3.2  代码的编译过程 814
22.4  编译命令 815
22.4.1  编译命令的格式和选项 815
22.4.2  处理脚本文件 816
22.5  创建独立运行的程序 818
22.5.1  编译M文件 818
22.5.2  编译M和C的混合文件 821
22.5.3  编译包含绘图命令的M文件 823
22.6  小结 828
第23章  应用程序接口 829
23.1  C语言MEX文件 829
23.1.1  MEX文件的数据 829
23.1.2  MEX文件的结构 830
23.1.3  MEX文件的实例 833
23.2  MAT文件 837
23.2.1  使用C语言创建MAT文件 838
23.2.2  使用Fortran语言创建MAT文件 841
23.3  MATLAB引擎技术 844
23.3.1  引擎技术概念 845
23.3.2  引擎技术应用 845
23.4  Java接口 849
23.4.1  Java接口 849
23.4.2  Java接口应用 855
23.5  小结 860
配套光盘中的内容
第8部分  用户工具箱 861
第24章  图形图像工具箱 862
24.1  MATLAB中的图像 862
24.1.1  图像类型 862
24.1.2  多帧图像 864
24.1.3  读取图像文件 865
24.1.4  查看图像文件信息 867
24.2  显示图像 869
24.2.1  默认显示方式 869
24.2.2  添加颜色条 869
24.2.3  显示多帧图像 870
24.2.4  显示动画 871
24.2.5  三维材质图像 872
24.3  图像的几何运算 873
24.3.1  缩放图像 873
24.3.2  旋转图像 875
24.3.3  裁剪图像 877
24.4  图像的灰度变换 878
24.4.1  图像的直方图 878
24.4.2  灰度变换 880
24.4.3  均衡直方图 882
24.5  图像的滤波 883
24.6  分析图像 886
24.6.1  分析图像的像素信息 886
24.6.2  分析图像的灰度信息 887
24.6.3  绘制等高图 888
24.7  小结 889
第25章  信号工具箱 890
25.1  产生信号 890
25.1.1  周期方波和锯齿波 890
25.1.2  周期sinc波 891
25.1.3  高斯调幅正弦波 892
25.1.4  调频信号 893
25.1.5  高斯分布随机序列 894
25.2  随机信号处理 895
25.2.1  随机信号的互相关函数 895
25.2.2  随机信号的互协方差函数 896
25.2.3  谱分析——psd函数 897
25.2.4  谱分析——pwelch函数 899
25.3  模拟滤波器设计 900
25.3.1  巴特沃斯滤波器 900
25.3.2  切比雪夫Ⅰ型滤波器 901
25.3.3  切比雪夫Ⅱ型滤波器 902
25.4  IIR数字滤波器设计 903
25.4.1  巴特沃斯数字滤波器设计 904
25.4.2  切比雪夫I型数字滤波器设计 905
25.4.3  切比雪夫II型数字滤波器设计 907
25.5  小结 908
附录A  MATLAB常用函数检索表 909