标题：精通MATLAB(升级版)
图书信息
书名：精通MATLAB（升级版）  　　作者：王正林  刘 明 编著
ISBN：978-7-121-12294-1
出版日期：2011年1月 
定价：69.00元
宣传语
全面、重点地介绍MATLAB  R2010a的新功能与特点。
内  容  简  介
本书的第一版——《精通MATLAB 7》由于内容全面、讲解细致、实例丰富而深受广大读者的喜爱，上市四年以来长期占据各大MATLAB类图书排行榜的前列，取得了数万册的销售佳绩。结合MATLAB软件的升级，并根据广大读者的反馈，作者对第一版进行了升级、调整和优化，并融入了这些年工作中新的MATLAB应用体会。
本书深入浅出，紧密结合实例，对MATLAB的使用进行了全面且详尽的阐述，并通过大量的实例讲述如何实现MATLAB 7.x的基本操作和实际使用。全书图文并茂，突出应用，并配有大量的程序实例。全书共分37章，分为基础篇和实战篇。基础篇为前面的34章，主要讲述MATLAB的基本使用；实战篇为后面的3章，主要讲述MATLAB综合应用的实例，分别为MATLAB高等数学计算实例、MATLAB图形绘制实例、MATLAB概率统计实例。
本书最大的特色在于用实例说话，教您快速上手，每一例子都经过精挑细选，具有很强的针对性，力求让读者通过运行实例而掌握基本参数及制作技巧，快速有效地学习到MATLAB的知识。
本书适合MATLAB的初、中级读者，可作为高等学校数学、计算机、电子工程、信息工程及相关专业师生的MATLAB使用参考手册，也可作为广大工程应用人员和开发人员不可多得的参考资料。
再 版 前 言
本书第1版本已被多所院校作为数学、计算机类课程的教材和教辅参考书，而且由于内容全面、讲解细致、实例丰富而深受广大读者的喜爱，上市4年以来长期占据各大MATLAB类图书排行榜的前列，取得了数万册的销售佳绩。
根据读者的需求和软件的升级，我们结合MATLAB软件的最新版本，对全书的结构进行了完善与优化，增加了MATLAB基础部分的内容，更加适合教学和自学。
新版亮点
在第1版的基础上，第2版更加突出了两大亮点：
1.紧扣新版本软件的特色
本书根据MATLAB 的2010a版本软件而写，新软件的设计更加人性化，使用起来更简洁方便。
MATLAB软件的发展趋势，以前可以说是将用户从繁杂的编程中解放出来，代之以函数脚本操作，而现在及未来的趋势是将函数工具化，使函数不再是负担。在修订版中，重点新增了这些内容。比如，优化工具箱提供了强大的GUI优化工具、通过简单的几步操作，便可完成。工作空间的数据直接绘图等功能，用户都不需要敲入绘图命令，通过鼠标的点击，便可进行绘图。
2.全面覆盖高校的数学课程
MATLAB可以说是高等教育所必备的工具软件，是大学生便捷的“计算器”，修订版中，新增了“第 37章  MATLAB概率统计实例”，加上“第 35章  MATLAB高等数学计算实例”，可以说覆盖了大学的全部基础数学课程。
新版导读
全书分37章进行展开，分为基础篇和实战篇。基础篇为前面的34章，主要讲述MATLAB的基本使用；实战篇为后面的3章，主要讲述MATLAB综合应用的实例。
全书内容概要如下：
 第1章“基础入门”，介绍MATLAB发展历程、系统结构、工具箱、MATLAB启动和退出，以及MATLAB基本特色。
本章重点讲述了MATLAB的基本特点，这些将在后面章节中得到体现。
 第2章“MATLAB桌面”，介绍MATLAB的主菜单及功能、命令窗口、工作空间、文件管理和帮助使用。
MATLAB 7版本的交互式桌面更便于用户使用，熟悉和掌握这些交互式桌面的基本功能和基本特色，用户可以熟练地使用MATLAB完成相应的工作。
 第3章“数组及其操作”，以及在此基础上展开的第4章“多维数组及其操作”，介绍了MATLAB中最核心的数据结构——数组及其各种基本操作。
数组是MATLAB中各种变量存储和运算的通用数据结构，理解MATLAB中数组的结构并对其进行各种基本操作，是学习MATLAB应用和编程的第一步，读者应该熟练掌握这些操作。
 第5~7章分别讲述了MATLAB中的基本数据类型，包括数值、结构体、元胞数组和字符串，第8章讲述了关系运算和逻辑运算，第9章讲述了程序控制流，这些内容是MATLAB编程语言的语法基础。
理解各种数据类型、运算和程序控制流，是应用MATLAB语言进行编程，提高使用效率的前提。
 第10~12章详细阐述了MATLAB中M文件编程的内容，主要包括MATLAB的函数，M文件调试和管理等。
这部分重点阐述了MATLAB中M文件编程的种类和基本流程，是通过实际的编程实践对语法基础部分内容的综合运用。
 第13章介绍了MATLAB中另一种比较常用的数据结构——时间，以及该数据结构在程序中的应用。
 第14~22章重点讲述了在各种具体应用领域中的MATLAB实现，包括：矩阵代数、数据分析、数据插值、多项式、三次样条、傅里叶分析、最优化计算、微积分、常微分方程。
这部分属于MATLAB的数值计算，也是MATLAB最精华的部分，这些章节简要回顾了数学理论，通过大量的应用实例讲述MATLAB应用。
 第23章讲述二维绘图，第24、25章讲述三维绘图及其颜色、光影的修饰。
这部分内容以MATLAB中的各种基本绘图指令和交互式环境为核心，目的在于使读者了解MATLAB中各种基本图形可视化方法的实现，并且初步介绍了MATLAB中图形的组织元素。
 第26章“图像、声音和视频”，介绍了MATLAB中操作各种媒体文件的方法，对MATLAB中的图像相关操作及概念进行了深入的讲解。
 第27章“图形的打印和导出”，讲述了MATLAB中保存绘图结果的各种方法，重点介绍了其中各种设置选项的意义和设置方法。
 第28章“句柄图形对象”，讲述MATLAB中各种图形对象的组织形式，常用图形对象的基本属性和操作方法等。
 第29章介绍了MATLAB中图形用户界面（GUI）编程的内容。
GUIDE这一交互式图形界面为用户开发MATLAB的GUI程序提供了十分便利的开发环境。
 第30章讲述了MATLAB类和面向对象编程，重点讲述了MATLAB中类的基本概念以及类的设计。
MATLAB的面向对象编程使得用户可以定义新的数据类型，并可方便地对其进行一系列的操作且不需了解其完成的细节，是扩展MATLAB功能的一个重要方面。
 第31章讲述了MATLAB与Excel、Word的接口，握这些方法是扩展office软件的计算能力，熟练应用MATLAB接口的基础。
 第32章讲述了扩展MATLAB和Java，MATLAB与Java语言的接口。
Java是一种非常强大的语言，而MATLAB具有强大的计算功能，把这两种语言结合起来，能大大提高效率。
 第33章讲述了MATLAB扩展编程，与其他高级开发语言实现扩展编程，充分发挥MATLAB的绘图、计算优势。
 第34章讲述了Simulink交互式仿真集成环境，介绍了Simulink的基本模块、基本功能、以及如何使用Simulink进行仿真等内容。
熟悉Simulink众多的功能强大模块，以及熟悉模块的基本操作是使用Simulink进行仿真和设计的基础。
 第35章讲述了MATLAB高等数学计算实例，通过大量的高等数学应用实例介绍MATLAB函数的使用。
熟练掌握MATLAB这一工具在数学计算的应用，可以从繁杂的计算中解脱出来，大大提高效率。
 第36章讲述了MATLAB图形绘制实例，重点讲述了二维图形和三维图形的绘制。
MATLAB中丰富的图形函数，是实现数据可视化的重要组成部分，使用MATLAB图形绘制功能，用户能够方便直观地查看和分析个人数据。
 第37章讲述了MATLAB概率统计实例，通过大量在概率统计计算中的应用实例，包括常用统计量的计算、特殊分布的相关计算、参数估计、假设检验、方差分析和回归分析。掌握这些方法是熟练应用MATLAB进行概率统计计算的基础。
本书主要由王正林、刘明编写。其他参与编写的人员有肖静、刘玉芳、肖绍英、夏路生、邓祈、王权、钟颂飞、王伟欣、朱桂莲、朱艳、胡玉、彭斌武、刘拥军等。在此对所有参与编写的人表示感谢！
再次对博文视点公司的袁金敏老师、许艳老师、朱沭红老师表示衷心的感谢！对关心、支持我们的读者表示感谢！
由于时间仓促，作者水平和经验有限，书中错漏之处在所难免，敬请读者指正。
作  者     
2010年国庆于北京
目  录
基础篇
第 1章  基础入门 2
1.1  MATLAB发展历程 2
1.2  MATLAB系统结构 3
1.3  MATLAB 7工具箱 4
1.4  MATLAB启动和退出 5
1.5  MATLAB基本特色 6
1.5.1  常量与变量 6
1.5.2  MATLAB基本运算 8
1.5.3  MATLAB基本函数 9
1.5.4  向量 10
1.6  小结 11
第 2章  MATLAB桌面 12
2.1  MATLAB主菜单及功能 12
2.2  MATLAB命令窗口 17
2.3  MATLAB工作空间。 19
2.4  M文件编辑/调试器 21
2.5  图形窗口 22
2.6  MATLAB文件管理 24
2.7  MATLAB帮助使用 24
2.7.1  直接使用help获得指令使用说明 25
2.7.2  直接使用help进行分类搜索 25
2.7.3  直接使用help获得具体子类指令说明 26
2.7.4  使用lookfor指令 26
2.8  小结 26
第 3章  数组及其操作 27
3.1  MATLAB中的数组 27
3.2  数组的创建 28
3.2.1  创建空数组 28
3.2.2  创建一维数组 28
3.2.3  创建二维数组 30
3.3  数组属性 30
3.3.1  数组结构 30
3.3.2  数组大小 31
3.3.3  数组维度 32
3.3.4  数组数据类型 33
3.3.5  数组的内存占用 34
3.4  创建特殊数组 34
3.4.1  0-1数组 34
3.4.2  对角数组 35
3.4.3  随机数组 36
3.4.4  魔方数组 37
3.5  数组操作 37
3.5.1  数组的保存和装载 37
3.5.2  数组索引和寻址 38
3.5.3  数组的扩展和裁剪 41
3.5.4  数组形状的改变 48
3.5.5  数组运算 51
3.5.6  数组查找 55
3.5.7  数组排序 56
3.6  小结 57
第 4章  多维数组及其操作 58
4.1  多维数组 58
4.1.1  多维数组的创建 58
4.1.2  多维数组的属性 61
4.2  多维数组的操作 61
4.2.1  多维数组的索引 61
4.2.2  多维数组的维度操作 62
4.2.3  多维数组参与数学计算 64
第 5章  数据类型概述和数值类型 66
5.1  MATLAB数据类型概述 66
5.2  MATLAB中的数值类型 67
5.2.1  整数类型 67
5.2.2  浮点数类型 70
5.2.3  复数 72
5.2.4  无穷量（Inf）和非数
值量（NaN） 73
5.3  数值类型的显示格式 74
5.4  MATLAB中确定数值类型的函数 75
5.5  小结 76
第 6章  结构体和元胞数组 77
6.1  结构体 77
6.1.1  结构体的创建 78
6.1.2  获取结构体内部数据 80
6.1.3  结构体数组操作函数 82
6.1.4  结构体嵌套 83
6.1.5  动态字段 84
6.1.6  结构体函数 84
6.2  元胞数组 85
6.2.1  元胞数组的创建 86
6.2.2  元胞数组的显示 87
6.2.3  元胞数组的操作 88
6.2.4  嵌套元胞数组 90
6.2.5  元胞数组函数 92
6.3  小结 92
第 7章  字符串 93
7.1  创建字符串 93
7.1.1  单行字符串创建 93
7.1.2  多行字符串创建 94
7.2  字符串操作 95
7.2.1  字符串比较 95
7.2.2  字符串的替换和查找 97
7.2.3  其他操作 99
7.3  字符串的元胞数组 101
7.4  使用正则表达式搜索 103
7.5  字符数组和数值数组间的相互转换 104
7.6  小结 106
第 8章  关系运算和逻辑运算 107
8.1  逻辑类型的数据 107
8.2  关系运算 108
8.3  逻辑运算 109
8.3.1  逐个元素的逻辑
运算 109
8.3.2  捷径逻辑运算 111
8.3.3  逐位逻辑运算 112
8.4  逻辑函数和测试函数 113
8.5  运算优先级 115
8.6  小结 116
第 9章  程序控制流 117
9.1  分支控制语句 117
9.1.1  if、else和elseif 117
9.1.2  switch、case和otherwise 119
9.2  循环控制语句 120
9.2.1  for循环 120
9.2.2  while循环 122
9.2.3  continue语句 122
9.2.4  break语句 123
9.2.5  数组结构和循环的效率比较 124
9.3  错误控制的try-catch结构 124
9.4  程序终止的return语句 125
9.5  小结 126
第 10章  函数 127
10.1  M文件和MATLAB编程概述 127
10.1.1  M文件概述 127
10.1.2  MATLAB编程概述 128
10.2  M文件结构和实例 129
10.2.1  M文件的一般结构 129
10.2.2  脚本M文件实例 130
10.2.3  函数M文件 132
10.3  函数类型 133
10.3.1  匿名函数 134
10.3.2  M文件主函数 135
10.3.3  嵌套函数 135
10.3.4  子函数 136
10.3.5  私有函数 136
10.3.6  重载函数 137
10.4  参数传递 137
10.4.1  MATLAB参数传递概述 137
10.4.2  输入和输出参数的数目 137
10.4.3  可变数目的参数传递 139
10.4.4  返回被修改的输入参数 140
10.4.5  全局变量 141
10.5  函数句柄 142
10.5.1  函数句柄的创建和调用 142
10.5.2  处理函数句柄的函数 143
10.6  小结 143
第 11章  M文件调试和剖析 144
11.1  M文件调试工具 144
11.2  M文件分析工具 146
11.2.1  Code Analyzer分析工具 147
11.2.2  Profiler分析工具 148
11.3  小结 149
第 12章  文件夹管理和文件I/O 150
12.1  当前文件夹和文件夹管理 150
12.1.1  当前文件夹工具条 150
12.1.2  当前文件夹面板 151
12.1.3  命令窗口文件夹操作命令 152
12.2  MATLAB搜索路径 152
12.2.1  MATLAB文件运行搜索过程 152
12.2.2  搜索路径设置 153
12.2.3  搜索路径设置命令 154
12.3  文件管理 154
12.3.1  文本数据 154
12.3.2  图形、音频和视频数据 155
12.3.3  电子表格数据 155
12.3.4  科学标准格式数据 155
12.3.5  数据导入向导 156
12.3.6  因特网文件处理 156
12.3.7  低级文件I/O 157
12.4  小结 158
第 13章  MATLAB中的时间 159
13.1  日期和时间 159
13.1.1  日期时间的3种表示格式 159
13.1.2  获取当前日期时间的函数 160
13.1.3  日期格式转换 161
13.1.4  datestr转换函数输出样式控制 161
13.2  程序中应用的计时函数 162
13.3  小结 163
第 14章  矩阵代数 164
14.1  矩阵分析 164
14.1.1  矩阵的行列式 164
14.1.2  矩阵的逆 165
14.1.3  矩阵的秩 166
14.1.4  矩阵的范数和条件数 166
14.1.5 矩阵的特征值、特征向量和特征多项式 167
14.1.6  矩阵的标准正交基 168
14.1.7  矩阵分解 168
14.1.8  矩阵的对角元素操作 172
14.1.9  矩阵分析函数总结 173
14.2  线性方程组 174
14.2.1  线性方程组的表示和种类 174
14.2.2  线性方程组的MATLAB求解 175
14.3  特殊矩阵 179
14.4  稀疏矩阵 179
14.4.1  稀疏矩阵的存储方式 179
14.4.2  稀疏矩阵的创建 180
14.5  小结 182
第 15章  数据分析 183
15.1  数据分析概述和数据预处理 183
15.1.1  数据分析概述 183
15.1.2  数据导入 184
15.1.3  遗失数据的处理 184
15.2  基础统计分析 185
15.2.1  命令窗口统计分析 185
15.2.2  MATLAB数据统计工具 186
15.2.3  多组数据的相关分析 188
15.3  用线性回归模型拟合数据 189
15.3.1  命令窗口下的线性回归 190
15.3.2  用基本拟合工具进行回归分析 192
15.4  其他分析方法初步 194
15.4.1  有限差分 194
15.4.2  傅里叶分析初步 195
15.5  MATLAB统计工具箱初步 197
15.5.1  概率密度函数 197
15.5.2  概率分布函数 198
15.5.3  逆概率分布函数 200
15.5.4  随机数产生 201
15.6  小结 203
第 16章  数据插值 204
16.1  一维插值 204
16.1.1  一维插值函数的使用 204
16.1.2  内插运算和外插运算 206
16.2  二维插值 209
16.3  高维插值 212
16.4  插值函数总结 212
16.5  小结 214
第 17章  多项式 215
17.1  多项式基础 215
17.1.1  多项式的表示 215
17.1.2  多项式的根 216
17.1.3  多项式的创建 216
17.1.4  多项式求值 217
17.2  多项式运算 218
17.2.1  多项式乘法 218
17.2.2  多项式除法 219
17.2.3  多项式加法 219
17.2.4  多项式微分 220
17.2.5  多项式的部分分式展开 221
17.3  多项式曲线拟合 222
17.4  多项式函数总结 223
17.5  小结 224
第 18章  三次样条 225
18.1  三次样条基础 225
18.2  三次样条的MATLAB实现 225
18.3  小结 228
第 19章  傅里叶分析 229
19.1  傅里叶变换 229
19.2  快速傅里叶变换（FFT） 230
19.3  小结 234
第 20章  最优化计算 235
20.1  优化工具箱简介 235
20.1.1  优化工具箱的功能 235
20.1.2  优化函数 236
20.2  无约束优化问题 238
20.2.1  一元函数无约束优化 238
20.2.2  多元函数无约束优化 239
20.3  约束优化问题 240
20.4  GUI优化工具 241
20.4.1  GUI优化工具的启动 241
20.4.2  GUI优化工具的界面 242
20.4.3  GUI优化工具使用步骤 243
20.4.4  GUI优化工具应用实例 244
20.5  小结 250
第 21章  微 积 分 251
21.1  微分 251
21.1.1  符号微分 251
21.1.2  数值微分 252
21.2  积分 252
21.2.1  符号积分 252
21.2.2  数值积分的实现方法 253
21.2.3  重积分的实现方法 255
21.3  小结 256
第 22章  常微分方程 257
22.1  常微分方程符号解 257
22.2  常微分方程数值解 258
22.3  小结 261
第 23章  二维图形 262
23.1  MATLAB图形窗口概述 262
23.2  基本绘图指令 265
23.2.1  基本绘图流程 265
23.2.2  基本绘图函数 266
23.2.3  设置函数曲线格式和标记点格式 269
23.2.4  子图绘制 271
23.2.5  叠加绘图模式 272
23.2.6  设置坐标轴和网格线 273
23.2.7  对数/半对数坐标系绘图 275
23.2.8  双纵轴绘图 276
23.2.9  绘图窗口开关控制函数 277
23.2.10  设置默认绘图格式循环顺序 278
23.2.11  复数绘图 279
23.3  图形标注 280
23.3.1  图形标注概述 280
23.3.2  图形标题 282
23.3.3  坐标轴标签 283
23.3.4  图例和颜色条 284
23.3.5  文本框标注 286
23.3.6  数据点标记 290
23.3.7  箭头和图框标注 290
23.3.8  锚定图形标注对象 292
23.4  特殊绘图 292
23.4.1  柱状图和面积图 292
23.4.2  饼形图 293
23.4.3  直方图 294
23.4.4  离散数据绘图 295
23.4.5  等高线图 296
23.4.6  向量图 297
23.4.7  其他特殊绘图指令 299
23.4.8  函数绘图 301
23.5  交互式绘图 302
23.5.1  概述 302
23.5.2  图形面板 303
23.5.3  绘图浏览器 305
23.5.4  属性编辑器 306
23.5.5  数据查视工具 307
23.5.6  工作保存 308
23.6  小结 308
第 24章  三维图形 309
24.1  创建三维图形 309
24.1.1  三维图形概述 309
24.1.2  三维曲线图 310
24.1.3  三维曲面图 311
24.1.4  特殊三维绘图 316
24.2  创建三维片块模型 322
24.2.1  创建片块模型 322
24.2.2  多个片块模型的创建和颜色设置 323
24.3  三维图形显示控制 326
24.3.1  设置坐标轴 326
24.3.2  设置视角 327
24.3.3  Camera控制 329
24.3.4  其他控制工具 330
24.4  小结 330
第 25章  使用颜色和光影 331
25.1  MATLAB中的颜色 331
25.1.1  着色技术 331
25.1.2  RGB真彩着色 332
25.1.3  颜色表 333
25.1.4  索引着色 335
25.1.5  shading模式 338
25.2  光照效果 339
25.2.1  光源对象 339
25.2.2  光照方法 340
25.3  小结 341
第 26章  图像、声音和视频 342
26.1  图像 342
26.1.1  图像及其数值类型 342
26.1.2  图像处理函数 343
26.2  声音 348
26.3  视频 349
26.4  小结 350
第 27章  图形的打印和导出 351
27.1  图形打印和导出概述 351
27.2  图形打印 352
27.2.1  使用菜单打印图形 352
27.2.2  图形打印命令 353
27.3  图形导出 353
27.3.1  使用菜单导出图形 353
27.3.2  图形导出命令 353
27.3.3  导出设置 353
27.4  小结 356
第 28章  句柄图形对象 357
28.1  句柄图形对象概述 357
28.2  get和set函数 358
28.3  根对象 358
28.4  图形窗口对象 359
28.5  核心图形对象 360
28.6  句柄图形对象操作 361
28.7  回调函数 362
28.8  小结 364
第 29章  图形用户界面（GUI） 365
29.1  GUI和GUIDE 365
29.1.1  GUI程序概述 365
29.1.2  打开GUIDE开发环境 366
29.2  使用GUIDE创建GUI界面 367
29.2.1  GUIDE界面概述 367
29.2.2  交互组件 368
29.2.3  设计菜单 372
29.2.4  GUI程序的存储 374
29.2.5  对象浏览器 374
29.2.6  GUI程序的运行 375
29.3  回调函数 376
29.3.1  回调函数原型 376
29.3.2  回调函数编程 377
29.4  小结 380
第 30章  MATLAB类和面向对象编程 381
30.1  MATLAB类概述 381
30.1.1  类的基本概念 381
30.1.2  类的组成 382
30.2  MATLAB类的设计 382
30.2.1  在MATLAB中设计类的基本方法 382
30.2.2  建立类目录 383
30.2.3  类的构造函数
方法 383
30.2.4  类的转换方法 384
30.2.5  类的显示方法 386
30.2.6  类的subsref方法 386
30.2.7  类的重载 387
30.2.8  类方法综合使用实例 390
30.3  MATLAB面向对象编程 391
30.3.1  MATLAB面向对象编程的特点 391
30.3.2  MATLAB面向对象编程与其他语言对比的特点 392
30.4  小结 392
第 31章  MATLAB与Excel、Word的接口 393
31.1  MATLAB与Excel的接口Excel link 393
31.1.1  Excel link的工作原理 394
31.1.2  Excel link的使用 394
31.1.3  Excel link应用举例 396
31.2  MATLAB 与Word的接口Notebook 397
31.2.1  Notebook的使用 398
31.2.2  在Word中使用Notebook 399
31.3  小结 401
第 32章  扩展MATLAB和Java 402
32.1  Java概述 402
32.2  在MATLAB中使用Java 403
32.2.1  Java接口 404
32.2.2  MATLAB中调用Java 404
32.3  创建和使用Java对象 406
32.3.1  创建Java类对象 407
32.3.2  连接Java对象 407
32.3.3  调用Java类对象 408
32.3.4  Java实例 410
32.4  Java与MATLAB混合编程 411
32.5  MATLAB Builder JA 411
32.5.1  Java环境变量 411
32.5.2  MATLAB中创建Java组件 412
32.6  小结 413
第 33章  MATLAB扩展编程 414
33.1  MATLAB混合编程概述 414
33.1.1  混合编程的背景 414
33.1.2  混合编程的方式 415
33.2  使用MATLAB引擎 415
33.2.1  MATLAB引擎 415
33.2.2  混合编程实例 419
33.3  使用mcc编译器 422
33.3.1  mcc编译器 422
33.3.2  MATLAB的设置及创建动态链接库 423
33.3.3  混合编程实例 425
33.4  使用COM 427
33.4.1  COM简介 427
33.4.2  COM的设置与创建 428
33.5  小结 428
第 34章  Simulink交互式仿真集成环境 429
34.1  Simulink的使用 429
34.1.1  Simulink启动 429
34.1.2  Simulink仿真设置 431
34.1.3  Simulink模块库简介 438
34.1.4  Simulink功能模块的处理 450
34.2  Simulink自定义功能模块 453
34.2.1  采用Subsystem建立自定义功能模块 453
34.2.2  多个模块组合自定义功能模块 453
34.2.3  自定义功能模块的封装 453
34.3  S函数设计与应用 455
34.4  Simulink仿真举例 459
34.5  小结 466
实战篇
第 35章  MATLAB高等数学计算实例 468
35.1  极限运算 468
35.2  求导数 469
35.2.1  一元函数求导 469
35.2.2  多元函数求导 470
35.2.3  参数方程求导 471
35.2.4  隐函数求导 471
35.2.5  求梯度与方向导数 472
35.3  求积分 472
35.3.1  定积分 472
35.3.2  广义积分 473
35.3.3  重积分 473
35.3.4  不定积分 473
35.4  级数 474
35.4.1  级数展开 474
35.4.2  级数求和 474
35.5  求函数的零点和极值点 474
35.5.1  求函数的零点 474
35.5.2  求函数的极值点 475
35.6  代数方程组求解 476
35.6.1  线性方程组求解 476
35.6.2  非线性方程组求解 482
35.7  常微分方程求解 482
35.7.1  常微分方程的符号解 482
35.7.2  常微分方程组数值解 483
35.8  小结 484
第 36章  MATLAB图形绘制实例 485
36.1  二维绘图 485
36.1.1  函数绘图 485
36.1.2  离散数据绘图 487
36.1.3  特殊坐标轴绘图 488
36.2  三维绘图 490
36.2.1  二元函数绘图 490
36.2.2  三维曲线绘图 491
36.2.3  三维曲面绘图 492
36.3  特殊分析用图 492
36.3.1  柱状图 492
36.3.2  直方图 493
36.3.3  饼图 494
36.3.4  散点图 494
36.3.5  等高线图 495
36.4  工作空间直接绘制图形 496
36.5  小结 498
第 37章  MATLAB概率统计实例 499
37.1  数字特征计算 499
37.1.1  期望 499
37.1.2  方差、标准差、矩 501
37.1.3  协方差、相关系数 502
37.2  概率计算 504
37.2.1  概率密度计算 504
37.2.2  累积与逆累积分布计算 505
37.2.3  特殊分布的期望和方差计算 506
37.2.4  随机数产生 507
37.3  参数估计 507
37.4  假设检验 509
37.4.1  单个总体 均值 的检验 509
37.4.2  两个正态总体均值差的检验（t检验） 510
37.4.3  基于成对数据的检验（t检验） 511
37.4.4  正态总体方差的假设检验 512
37.5  方差分析 513
37.5.1  单因素试验的方差分析 513
37.5.2  双因素试验的方差分析 514
37.6  回归分析 516
37.6.1  一元多项式回归 516
37.6.2  多元线性回归 517
37.6.3  非线性回归 518
37.6.4  逐步回归 520
37.7  小结 522
实例目录
例1-1  数据的存取 7
例2-1  正弦函数sin的在线求助 25
例2-2  help指令 25
例2-3  help topic指令 26
例2-4  lookfor指令 26
例3-1  创建空数组A 28
例3-2  创建行向量和列向量 28
例3-3  创建一维等差数组 29
例3-4  创建一维等比数组 29
例3-5  创建二维数组 30
例3-6  数组结构测试函数 31
例3-7  数组大小 31
例3-8  数组维度 32
例3-9  数组数据类型测试函数 33
例3-10  数组的内存占用 34
例3-11  创建0-1数组 35
例3-12  创建对角数组 36
例3-13  创建随机数组 36
例3-14  创建魔方数组 37
例3-15  数组元素的索引与寻址 38
例3-16  单-双下标转换 39
例3-17  逻辑索引 40
例3-18  通过cat函数扩展数组 43
例3-19  使用块状复制函数repmat 44
例3-20  使用对角块生成函数blkdiag 44
例3-21  使用块操作函数kron 45
例3-22  索引扩展 46
例3-23  数组裁剪 47
例3-24  数组元素删除 47
例3-25  数组转置 48
例3-26  数组翻转 49
例3-27  数组尺寸调整 50
例3-28  数组-数组运算 51
例3-29  数组除法 52
例3-30  点运算 53
例3-31  数组运算函数 54
例3-32  数组查找函数-find 55
例3-33  数组排序 56
例4-1  二维数组扩展创建多维数组 59
例4-2  MATLAB的内联函数创建多维数组 59
例4-3  cta函数创建多维数组 60
例4-4  MATLAB函数获取多维数组的属性 61
例4-5  多维数组的索引访问 61
例4-6  RESHAPE函数改变多维数组的形状 63
例4-7  多维数组维度的重新排序 63
例4-8  多维数组参与的数学计算 64
例5-1  通过转换函数创建整数类型 68
例5-2  整数类型数值参与的运算 69
例5-3  整数类型参与的运算及溢出捕获 70
例5-4  浮点数转换函数的应用 71
例5-5  浮点型参与的运算 71
例5-6  浮点数的精度 72
例5-7  复数的创建和运算 73
例5-8  无穷量和非数值量 74
例5-9  通过get和set临时改变数值显示格式 75
例6-1  通过对字段赋值创建结构体 78
例6-2  通过圆括号索引指派，用字段赋值的方法创建结构体数组 78
例6-3  利用struct函数创建结构体数组 79
例6-4  结构体内部数据的获取 81
例6-5  结构体数组的操作 82
例6-6  结构体嵌套 83
例6-7  动态字段的访问 84
例6-8  结构体函数的使用 85
例6-9  创建元胞数组 86
例6-10  元胞数组的显示 87
例6-11  元胞数组的数据访问 88
例6-12  删除元胞和改变元胞数组形状 89
例6-13  嵌套元胞数组的创建和操作 91
例6-14  元胞函数的应用 92
例7-1  字符串的创建 93
例7-2  创建二维字符数组 95
例7-3  字符串的比较 96
例7-4  两个字符串逐个字符的比较 96
例7-5  字符归属测试函数 97
例7-6  字符串的替换 97
例7-7  字符串的查找 98
例7-8  空格处理函数 99
例7-9  字符数组的格式操作 100
例7-10  字符数组和字符串的元胞数组转换 101
例7-11  字符串元胞数组的操作 102
例7-12  正则表达式的简单应用 104
例7-13  数值数组转换成字符数组 105
例7-14  字符数组转换成数值数组 106
例8-1  逻辑类型数据 107
例8-2  MATLAB中的关系运算 108
例8-3  浮点数的比较运算 109
例8-4  逐个元素的逻辑运算 110
例8-5  捷径逻辑运算符 111
例8-6  逐位逻辑运算函数 112
例8-7  MATLAB中的逻辑运算函数 113
例8-8  空数组和非数值型（NaN）元素参与的关系运算 113
例8-9  测试函数的应用 115
例9-1  if结构 118
例9-2  数组用于if结构 118
例9-3  switch-case结构 119
例9-4  一条case语句列举多个值的switch-case语句 120
例9-5  for循环 121
例9-6  数组赋值循环变量的for循环 121
例9-7  while循环 122
例9-8  continue语句 122
例9-9  break语句 123
例9-10  循环和数组函数效率比较 124
例9-11  try-catch结构 125
例9-12  return语句 125
例10-1  脚本M文件实例 130
例10-2  函数M文件实例 132
例10-3  匿名函数 134
例10-4  输入和输出参数的数目 138
例10-5  可变数目的参数传递 139
例10-6  函数内部的输入参数修改 140
例10-7  将修改后的输入参数返回给MATLAB工作区 141
例10-8  全局变量的使用 141
例10-9  函数句柄的创建和调用 142
例10-10  处理函数句柄的函数 143
例12-1  文件夹操作命令 152
例13-1  获取系统当前日期和时间 160
例13-2  日期时间局部信息提取函数 160
例13-3  MATLAB中的日期格式转换函数 161
例13-4  程序中的定时函数 163
例14-1  矩阵行列式 164
例14-2  矩阵的逆 165
例14-3  矩阵的秩 166
例14-4  矩阵的范数和条件数 166
例14-5  矩阵的特征值、特征向量和特征多项式 167
例14-6  矩阵的标准正交基 168
例14-7  LU分解 169
例14-8  Cholesky分解 169
例14-9  QR分解 170
例14-10  SVD分解（奇异值分解） 171
例14-11  Schur分解 172
例14-12  对角元素操作 172
例14-13  高斯消元法求解恰定线性方程组 175
例14-14  高斯消元法求解欠定方程组 175
例14-15  欠定方程组的一般解 176
例14-16  矩阵除法求解线性方程组 176
例14-17  矩阵求逆求解线性方程组 178
例14-18  稀疏矩阵的创建 180
例14-19  稀疏矩阵函数应用 181
例14-20  nnz和nzmax的区别 182
例15-1  NaN数据参与分析 185
例15-2  基础数据统计分析 186
例15-3  MATLAB数据统计工具应用 187
例15-3（续）  MATLAB数据统计工具应用 188
例15-4  数据相关性分析 189
例15-5  多项式回归实例 190
例15-6  一般线性回归实例（数组除法） 191
例15-7  多元线性回归实例 191
例15-8  应用基本拟合工具进行线性回归分析 192
例15-8（续）  应用基本拟合工具进行线性回归分析 194
例15-9  有限差分分析 195
例15-10  傅里叶分析 195
例15-11  概率密度函数 198
例15-12  概率分布函数 199
例15-13  逆概率分布函数 201
例15-14  随机数的产生 202
例16-1  对sin函数进行分段线性一维插值 205
例16-2  用其他几种方法对sin函数进行插值 206
例16-3  外插运算方法和误差 207
例16-4  spline函数和pchip函数 208
例16-5  二维插值 210
例16-6  二维插值方法效果比较 210
例16-7  griddata在二维插值中的应用 213
例17-1  求解多项式 的根 216
例17-2  多项式的创建 216
例17-3  特征多项式 217
例17-4  多项式求值 217
例17-5  数组的多项式求值 217
例17-6  多项式乘法 218
例17-7  多项式除法 219
例17-8  多项式加法 219
例17-9  多项式微分 220
例17-10  多项式的部分分式展开 221
例17-11  多项式的曲线拟合 222
例17-12  多项式函数的综合应用 223
例18-1  产生一条正弦曲线，然后用三次样条插值进行拟合 226
例19-1  函数 的傅里叶变换及其逆变换 230
例19-2  函数 的傅里叶变换及其逆变换 230
例19-3  用傅里叶变换分析受噪声干扰的时域信号 232
例20-1  函数在区间（0，8）内的最小值 238
例20-2  求函数局部最小点 239
例20-3  求函数在约束条件下的局部最小值 240
例20-4  fminunc求解器应用实例。用优化工具求 的极小值，初始点取 244
例20-5  fminsearch求解器应用实例 245
例20-6  fmincon求解器应用实例 247
例20-7  lsqnonlin求解器应用实例 248
例20-8  linprog求解器应用实例 249
例20-9  ga求解器应用实例 250
例21-1  计算  251
例21-2  计算  252
例21-3  范得蒙矩阵的差分运算 252
例21-4  符号积分  253
例21-5  采用梯形法计算定积分 253
例21-6  变步长辛普生法求定积分 254
例21-7  牛顿－柯特斯法求定积分 254
例21-8  trapz函数 255
例21-9  计算 在区间[1,1][1,1]上的二重定积分 256
例21-10  计算 在空间 上的三重定积分 256
例22-1  计算微分方程 的通解 258
例22-2  计算微分方程 在初始条件 下的特解 258
例22-3  求 的通解 258
例22-4  非刚性体的运动方程的微分方程 260
例23-1  MATLAB绘图函数实例 264
例23-2  简单画线函数line 267
例23-3  plot函数应用 267
例23-4  极坐标绘图函数polar 268
例23-5  曲线格式和标记点类型设置 270
例23-6  线宽和标记点格式设置 271
例23-7  子图绘制 271
例23-8  叠加绘图模式 273
例23-9  坐标轴范围和比例设置（M-file） 274
例23-10  设置坐标轴显示刻度 275
例23-11  对数/半对数坐标系作图 275
例23-12  双纵轴绘图 276
例23-13  开关控制函数（M-File） 277
例23-14  设置绘图格式循环顺序 278
例23-15  复数绘图 279
例23-16  图形标题函数title 283
例23-17  坐标轴标签 283
例23-18  图例 284
例23-19  颜色条 285
例23-20  文本框标注 286
例23-21  利用TEX标记序列进行文本标注 288
例23-22  文本框对齐方式（M-File） 288
例23-23  柱状图 292
例23-24  面积图 293
例23-25  饼图 294
例23-26  频数直方图 294
例23-27  玫瑰图 294
例23-28  火柴杆图 295
例23-29  阶梯图 296
例23-30  等高线图 296
例23-31  罗盘图 297
例23-32  羽毛图 298
例23-33  向量场图 299
例23-34  其他特殊绘图指令-1 299
例23-35  其他特殊绘图指令-2 300
例23-36  函数绘图 301
例23-37  交互式绘图实例 303
例24-1  plot3绘制三维曲线图 311
例24-2  矩形网格 312
例24-3  三维网线图 313
例24-4  三维表面图 314
例24-5  网格边框线设置 315
例24-6  非网格数据点绘图 361
例24-7  三维柱状图 317
例24-8  三维散点图 317
例24-9  三维饼状图 318
例24-10  三维火柴杆图 319
例24-11  三维向量场图 319
例24-12  三维等值线图 320
例24-13  简易三维绘图函数 321
例24-14  创建片块模型 322
例24-15  创建多个片块模型 323
例24-16  设置多个片块模型的颜色 325
例24-17  设置坐标轴 327
例24-18  设置视角 328
例25-1  RGB真彩着色 328
例25-2  颜色表数组操作 334
例25-3  指定颜色索引数组的映射索引着色 335
例25-4  不指定颜色索引数组的映射索引着色 336
例25-5  直接索引着色 337
例25-6  shading模式 338
例25-7  光源对象 339
例25-8  光照方法 340
例26-1  获取信息命令 343
例26-2  图像读入和显示 345
例26-3  灰阶强度图像显示——gray颜色表 345
例26-3（续）  灰阶强度图像显示——cool颜色表 346
例26-4  设置图像显示时的坐标轴比例 346
例26-5  图像写回命令imwrite 347
例28-1  句柄图形对象操作 361
例28-2  回调函数 363
例30-1  类方法的使用实例 390
例31-1  实现Excel和MATLAB中的数据交换 396
例31-2  M-book使用实例 400
例32-1  连接相同的Java对象 407
例32-2  连接不同的Java对象 408
例32-3  利用Frame的getTitle和setTitle两个函数 408
例34-1  使用Simulink产生一个2s时出现的单位阶跃输入信号 459
例35-1  求  468
例35-2  求  468
例35-3  求  469
例35-4  求 的一阶导数 469
例35-5  求 的二阶导数 469
例35-6  已知函数 ，求  470
例35-7  已知函数 ，求  470
例35-8  求  470
例35-9  已知一参数方程为 ，求  471
例35-10  已知 所确定的隐函数 ，求  471
例35-11  求函数 在点（1，1，2）处的梯度 472
例35-12  求函数在点（1，1，2）处沿方向角为 方向的方向导数 472
例35-13  求定积分  472
例35-14  计算广义积分  473
例35-15  计算 在区间[1,1]×[1,1]上的二重积分 473
例35-16  计算  473
例35-17  求将函数 展开为 的最高次为3的幂级数 474
例35-18  求和  474
例35-19 求函数 在  附近的零点，并画出函数的图像 474
例35-20  求函数 在区间(0,2)内的极小值点 475
例35-21  采用直接法求解下列方程组 476
例35-22  LU分解法求解下列方程组 477
例35-23  QR分解法求解下列方程组 478
例35-24  Cholesky分解法求解下列方程组 478
例35-25  Cholesky分解法求解下列方程组 479
例35-26  用Jacobi迭代法求解下列线性方程组 480
例35-27  用Gauss-Serdel迭代法求解下列线性方程组 481
例35-28  求下列非线性方程组在(0.5,0.4)附近的数值解 482
例35-29  求 的解 482
例35-30  设有常微分方程，试求其数值解，并与精确解相比较 483
例30-31  求解常微分方程的解，其初值条件为，并画出解的图形 483
例36-1  绘制sin函数 485
例36-2  绘制匿名函数 485
例36-3  简易绘制隐函数 486
例36-4  极坐标函数绘图 486
例36-5  离散数据点直接绘图 487
例36-6  离散数据点拟合绘图 487
例36-7  离散数据点插值绘图 488
例36-8  双纵轴绘图 488
例36-9  半对数坐标轴绘图 489
例36-10  双对数坐标轴绘图 489
例36-11  二元函数peaks绘图 490
例36-12  二元匿名函数绘图 491
例36-13  三维曲线绘图 491
例36-14  三维曲面绘图 492
例36-15  二维柱状图 492
例36-16  三维柱状图 493
例36-17  直方图 493
例36-18  二维和三维饼图 494
例36-19  二维和三维散点图 494
例36-20  二维和三维等高线图 495
例37-1  样本均值计算实例1 499
例37-2  样本均值计算实例2 499
例37-3  样本均值计算实例3 500
例37-4  样本方差、标准差计算实例 501
例37-7  随机变量数字特征综合计算实例 503
例37-8  概率密度计算实例 504
例37-9  概率密度图绘制实例 504
例37-10  累积分布函数和逆累积分布函数应用实例 505
例37-11  概率计算应用实例 505
例37-12  特殊分布的期望和方差计算实例1 506
例37-13  特殊分布的期望和方差计算实例2 506
例37-14  特殊分布的期望和方差计算实例3 506
例37-15  随机数生成实例 507
例37-16  参数估计综合计算实例1 507
例37-17  参数估计综合计算实例2 508
例37-18  参数估计综合计算实例3 508
例37-19  假设检验综合实例1 509
例37-20  假设检验综合实例2 510
例37-21  假设检验综合实例3 510
例37-22  假设检验综合实例4 511
例37-23  假设检验综合实例5 512
例37-24  假设检验综合实例6 512
例37-25  方差分析综合实例1 513
例37-26  方差分析综合实例2 514
例37-27  回归分析综合实例 516
例37-28  多元线性回归综合实例 517
例37-30  逐步回归综合实例 520