第1篇 1
第1章 MATLAB R2014a概述 1
1.1 MATLAB R2014a简介 2
1.1.1 MathWorks及其产品概述 2
1.1.2 MATLAB与其他数学软件 2
1.1.3 MATLAB的主要特点 3
1.1.4 MATLAB的系统组成 3
1.1.5 MATLAB应用程序简介 4
1.1.6 MATLAB R2014a新特性 5
1.2 MATLAB R2014a的目录结构 6
1.3 MATLAB R2014a的工作环境 7
1.3.1 菜单/工具栏 8
1.3.2 命令行窗口 8
1.3.3 工作区 9
1.4 MATLAB R2014a的通用命令 10
1.5 MATLAB R2014a的文件管理 11
1.5.1 当前文件夹浏览器和路径管理器 11
1.5.2 搜索路径及其设置 11
1.6 MATLAB R2014a的帮助系统 13
1.6.1 纯文本帮助 13
1.6.2 演示(Demos)帮助 14
1.6.3 帮助导航浏览器 15
1.7 MATLAB使用初步 15
1.8 本章小结 16
第2章 MATLAB基础知识 17
2.1 数据类型 18
2.1.1 数值类型 18
2.1.2 逻辑类型 22
2.1.3 字符和字符串 24
2.1.4 函数句柄 27
2.1.5 结构体类型 29
2.1.6 数组类型 32
2.1.7 单元数组类型 33
2.1.8 map容器类型 36
2.2 基本矩阵操作 40
2.2.1 矩阵和数组的概念及其区别 40
2.2.2 矩阵的构造 42
2.2.3 矩阵大小及结构的改变 45
2.2.4 矩阵下标引用 47
2.2.5 矩阵信息的获取 49
2.2.6 矩阵的保存和加载 53
2.3 运算符 59
2.3.1 算术运算符 59
2.3.2 关系运算符 61
2.3.3 逻辑运算符 62
2.3.4 运算优先级 63
2.4 字符串处理函数 64
2.4.1 字符串的构造 64
2.4.2 字符串比较函数 66
2.4.3 字符串查找和替换函数 66
2.4.4 字符串——数值转换 67
2.5 本章小结 68
第3章 数组与矩阵 69
3.1 数组运算 70
3.1.1 数组的创建和操作 70
3.1.2 数组的常见运算 73
3.2 矩阵操作 77
3.2.1 创建矩阵 77
3.2.2 改变矩阵大小 82
3.2.3 重构矩阵 84
3.3 矩阵元素的运算 85
3.3.1 矩阵加减运算 85
3.3.2 矩阵乘法运算 86
3.3.3 矩阵的除法运算 87
3.3.4 矩阵的幂运算 88
3.3.5 矩阵元素的查找 88
3.3.6 矩阵元素的排序 89
3.3.7 矩阵元素的求和 90
3.3.8 矩阵元素的求积 91
3.3.9 矩阵元素的差分 92
3.4 矩阵运算 92
3.4.1 矩阵分析 93
3.4.2 矩阵分解 98
3.4.3 特征值和特征向量 105
3.5 稀疏矩阵 106
3.5.1 稀疏矩阵的存储方式 107
3.5.2 稀疏矩阵的生成 107
3.5.3 稀疏矩阵的运算 112
3.6 本章小结 112
第4章 MATLAB编程基础 113
4.1 M文件编辑器 114
4.2 变量 116
4.2.1 变量的命名 116
4.2.2 变量的类型 117
4.2.3 MATLAB默认的特殊变量 117
4.2.4 关键字 118
4.3 MATLAB的控制流 118
4.3.1 顺序结构 118
4.3.2 if-else-end分支结构 119
4.3.3 switch-case 121
4.3.4 try-catch结构 123
4.3.5 for循环结构 124
4.3.6 while循环结构 126
4.4 控制程序流的其他常用指令 127
4.4.1 return指令 127
4.4.2 input和keyboard指令 127
4.4.3 yesinput指令 128
4.4.4 pause指令 128
4.4.5 continue指令 128
4.4.6 break指令 129
4.4.7 error和warning指令 129
4.5 脚本和函数 129
4.5.1 脚本 129
4.5.2 函数 130
4.5.3 M文件的一般结构 132
4.5.4 匿名函数、子函数、私有函数与私有目录 134
4.5.5 重载函数 136
4.5.6 eval、feval函数和内联函数 136
4.5.7 内联函数 139
4.5.8 向量化和预分配 142
4.5.9 函数的函数 143
4.5.10 P码文件 144
4.6 M文件中变量的检测与传递 145
4.6.1 输入/输出变量检测指令 145
4.6.2 “可变数量”输入/输出变量 146
4.6.3 跨空间变量传递和赋值 148
4.7 MATLAB程序的调试 150
4.7.1 程序调试的基本概念 150
4.7.2 直接调试法 151
4.7.3 使用调试函数进行调试 152
4.7.4 工具调试法 155
4.7.5 程序的性能优化技术 156
4.8 本章小结 157
第5章 数据可视化 158
5.1 图形绘制 159
5.1.1 离散数据及离散函数 159
5.1.2 连续函数 160
5.1.3 图形绘制示例 161
5.1.4 图形绘制的基本步骤 162
5.2 二维图形绘制 162
5.2.1 plot指令 163
5.2.2 格栅 168
5.2.3 文字说明 168
5.2.4 线型、标记和颜色 171
5.2.5 坐标轴设置 174
5.2.6 图形迭绘 175
5.2.7 子图绘制 176
5.2.8 交互式绘图 177
5.2.9 双坐标轴绘制 178
5.2.10 fplot绘图指令 179
5.2.11 ezplot绘图指令 180
5.2.12 特殊坐标轴绘图 181
5.2.13 二维特殊图形函数 183
5.3 三维图形绘制 188
5.3.1 曲线图绘制 188
5.3.2 网格图绘制 189
5.3.3 曲面图的绘制 190
5.3.4 光照模型 191
5.3.5 绘制等值线图 192
5.4 四维图形可视化 193
5.4.1 用颜色描述第四维 193
5.4.2 其他函数 194
5.5 本章小结 195
第2篇 196
第6章 数据分析 196
6.1 多项式及其函数 197
6.1.1 多项式的表达式和创建 197
6.1.2 多项式求根 198
6.1.3 多项式的四则运算 199
6.1.4 多项式的导数、积分与估值 201
6.1.5 多项式运算函数及操作指令 202
6.1.6 有理多项式 203
6.2 数据插值 204
6.2.1 一维插值 205
6.2.2 二维插值 208
6.3 函数的极限 209
6.3.1 极限的概念 209
6.3.2 求极限的函数 210
6.4 函数数值积分 211
6.4.1 数值积分问题的数学表述 212
6.4.2 一元函数的数值积分 212
6.4.3 多重数值积分 214
6.5 本章小结 215
第7章 符号数学计算 216
7.1 MATLAB符号计算概述 217
7.2 符号对象和符号表达式 217
7.2.1 符号对象的创建命令 217
7.2.2 符号对象的创建示例 218
7.2.3 符号计算中的运算符和函数 222
7.2.4 符号对象的类别识别函数 225
7.2.5 符号表达式中的变量确定 228
7.2.6 符号精度计算 229
7.3 符号表达式操作 230
7.3.1 符号表达式显示 230
7.3.2 符号表达式合并 231
7.3.3 符号表达式展开 232
7.3.4 符号表达式嵌套 233
7.3.5 符号表达式分解 233
7.3.6 符号表达式化简 234
7.4 符号表达式替换 236
7.4.1 subs替换函数 236
7.4.2 subexpr替换函数 237
7.5 符号函数的操作 238
7.5.1 复合函数操作 238
7.5.2 反函数操作 239
7.6 符号微积分 240
7.6.1 符号表达式的极限 240
7.6.2 符号表达式的微分 242
7.6.3 符号表达式的积分 243
7.6.4 符号表达式的级数求和 244
7.6.5 符号表达式的泰勒级数 245
7.7 符号积分变换 246
7.7.1 傅里叶变换及其反变换 246
7.7.2 拉普拉斯变换及其反变换 247
7.7.3 Z变换及其反变换 248
7.8 符号代数方程求解 249
7.9 符号微分方程求解 252
7.10 符号分析可视化 254
7.10.1 funtool分析界面 254
7.10.2 taylortool分析界面 257
7.11 本章小结 259
第8章 概率统计 260
8.1 产生随机变量 261
8.1.1 二项分布的随机数据的产生 261
8.1.2 正态分布的随机数据的产生 261
8.1.3 常见分布的随机数产生 262
8.2 概率密度计算 263
8.2.1 通用函数概率密度值 263
8.2.2 专用函数概率密度值 265
8.3 累积概率分布 266
8.3.1 通用函数累积概率值 266
8.3.2 专用函数累积概率值 267
8.4 统计特征 268
8.4.1 平均值、中值 268
8.4.2 数据比较 269
8.4.3 期望 270
8.4.4 方差和标准差 270
8.4.5 协方差与相关系数 271
8.5 统计作图 272
8.5.1 正整数频率表 272
8.5.2 累积分布函数图形 272
8.5.3 最小二乘拟合直线 273
8.5.4 绘制正态分布概率图形 274
8.5.5 样本数据的盒图 275
8.5.6 参考线绘制 276
8.5.7 样本概率图形 278
8.5.8 正态拟合直方图 278
8.6 本章小结 279
第3篇 280
第9章 偏微分方程工具箱 280
9.1 偏微分方程(PDE)工具箱介绍 281
9.1.1 偏微分方程常见类型介绍 281
9.1.2 偏微分方程工具箱简介 287
9.2 求解偏微分方程示例 289
9.2.1 求解椭圆方程 289
9.2.2 求解抛物线方程 294
9.2.3 求解双曲线方程 298
9.2.4 求解特征值方程 302
9.3 本章小结 306
第10章 优化工具箱 307
10.1 优化工具箱及最优化问题介绍 308
10.1.1 优化工具箱常用函数 308
10.1.2 最优化问题 311
10.2 线性规划 314
10.2.1 线性规划函数 314
10.2.2 线性规划问题的应用 316
10.3 无约束非线性规划 324
10.3.1 基本数学原理介绍 324
10.3.2 无约束非线性规划函数 325
10.3.3 无约束非线性规划问题的应用 329
10.4 二次规划 329
10.4.1 二次规划函数quadprog 330
10.4.2 二次规划问题的应用 332
10.5 有约束最小化 333
10.5.1 有约束最小化函数fmincon 333
10.5.2 有约束最小化应用 336
10.6 目标规划 337
10.6.1 目标规划函数fgoalattain 337
10.6.2 目标规划应用 340
10.7 最大最小化 344
10.7.1 最大最小化函数fminimax 344
10.7.2 最大最小化应用 346
10.8 本章小结 347
第11章 图像处理工具箱 349
11.1 MATLAB图像处理基础知识 350
11.1.1 MATLAB图像表达方式 350
11.1.2 MATLAB支持的图像文件格式 351
11.1.3 MATLAB图像类型 352
11.1.4 MATLAB图像类型转换 355
11.1.5 MATLAB图像数据读/写 357
11.2 图像显示 358
11.2.1 标准图像显示技术 358
11.2.2 特殊图像显示技术 360
11.3 图像运算 364
11.3.1 代数运算 364
11.3.2 空间变换 365
11.3.3 图像配准 369
11.4 图像数据变换 370
11.4.1 二维傅里叶变换 370
11.4.2 离散余弦变换 374
11.4.3 其他变换 377
11.5 图像分析与增强 378
11.5.1 像素值及统计 379
11.5.2 图像分析 382
11.5.3 图像调整 385
11.5.4 图像平滑 389
11.6 图像区域处理 391
11.6.1 区域设置 391
11.6.2 区域滤波 393
11.6.3 区域填充 393
11.7 形态学操作 394
11.7.1 图像膨胀 394
11.7.2 图像腐蚀 395
11.7.3 形态学重建 396
11.8 颜色处理 397
11.8.1 显示颜色 397
11.8.2 减少颜色 397
11.8.3 转换颜色 398
11.9 本章小结 399
第12章 信号处理工具箱 400
12.1 MATLAB信号处理基础知识 401
12.1.1 连续信号及其实现 401
12.1.2 离散信号及其实现 401
12.1.3 离散信号基本运算 405
12.1.4 离散系统概念 409
12.1.5 Z变换定义与性质 409
12.1.6 离散傅里叶变换 410
12.2 统计信号处理 410
12.2.1 相关性与协方差 411
12.2.2 频谱分析 412
12.2.3 窗函数 414
12.2.4 功率谱估计 416
12.2.5 现代谱估计 418
12.2.6 时频分析 419
12.2.7 特殊变换方法 420
12.2.8 重新采样 423
12.3 IIR滤波器 424
12.3.1 IIR滤波器优势 424
12.3.2 经典滤波器设计过程 424
12.3.3 经典法IIR滤波器设计 424
12.3.4 直接法IIR滤波器设计 431
12.4 FIR滤波器 432
12.4.1 窗函数法FIR滤波器设计 432
12.4.2 约束最小二乘法FIR滤波器设计 434
12.4.3 其他设计方法 435
12.5 参数建模 435
12.5.1 时域建模 436
12.5.2 频域建模 438
12.6 特殊波形发生函数 439
12.6.1 频率扫描余弦函数 439
12.6.2 Sinc函数 439
12.6.3 高斯震荡正弦脉冲 440
12.6.4 三角脉冲 441
12.6.5 三角波 441
12.6.6 方形脉冲 442
12.6.7 方波 443
12.6.8 脉冲序列 444
12.6.9 压控振荡波 444
12.7 GUI工具 445
12.7.1 信号处理综合工具 445
12.7.2 波形查看器 446
12.7.3 谱分析查看器 447
12.7.4 滤波器可视化工具 447
12.7.5 滤波器设计与分析工具 448
12.7.6 滤波处理工具 449
12.8 本章小结 450
第13章 小波分析工具箱 451
13.1 小波分析 452
13.1.1 小波分析概述 452
13.1.2 傅里叶变换和小波变换 453
13.1.3 多分辨分析 456
13.1.4 小波包分析 459
13.1.5 几种常用的小波 463
13.1.6 小波应用演示示例 466
13.2 小波工具箱介绍 467
13.2.1 小波工具箱的启动 467
13.2.2 一维连续小波分析工具 468
13.2.3 一维离散小波分析工具 473
13.3 小波分析在图像处理中的应用 480
13.3.1 基于小波变换的图像局部压缩 480
13.3.2 二维小波变换的图像压缩 482
13.3.3 图像压缩中阈值的确定与作用命令 485
13.3.4 基于小波包变换的图像压缩 486
13.3.5 小波变换用于图像去噪 488
13.3.6 小波分析用于图像增强 491
13.3.7 图像钝化与锐化 493
13.3.8 小波分析用于图像融合 495
13.3.9 小波分析用于图像分解 496
13.4 本章小结 499
第14章 Simulink仿真基础 500
14.1 Simulink概述 501
14.1.1 Simulink的基本概念 501
14.1.2 Simulink的工作环境与启动 503
14.1.3 Simulink模型的特点 505
14.1.4 Simulink模块的组成 507
14.1.5 Simulink中的数据类型 508
14.1.6 Simulink 中的模块和模块库 512
14.1.7 Simulink常用工具 516
14.1.8 Simulink的实例演示 518
14.2 Simulink模型创建 520
14.2.1 Simulink模块的基本操作 520
14.2.2 模型和模型文件 524
14.2.3 创建模型的基本步骤和技巧 525
14.3 过零检测和代数环 529
14.3.1 过零检测 529
14.3.2 代数环 531
14.4 本章小结 532
第15章 Simulink仿真应用 533
15.1 子系统的创建和封装 534
15.1.1 子系统介绍 534
15.1.2 创建子系统 536
15.1.3 封装子系统 537
15.2 仿真模型的分析 541
15.2.1 模型状态的确定 541
15.2.2 线性化的数学描述 543
15.2.3 平衡点分析 544
15.2.4 微分方程的求解算法 545
15.3 运行仿真 546
15.3.1 启动仿真 546
15.3.2 仿真的配置 549
15.3.3 优化仿真过程 555
15.4 模型调试 557
15.4.1 Simulink调试器 557
15.4.2 命令行调试及设置断点 558
15.5 Simulink实例应用 559
15.6 本章小结 565
第4篇 566
第16章 句柄图形对象 566
16.1 句柄图形对象体系 567
16.1.1 句柄图形组织 567
16.1.2 句柄图形对象类型简介 567
16.2 句柄图形对象操作 568
16.2.1 创建对象 568
16.2.2 访问对象句柄 570
16.2.3 复制和删除对象 572
16.2.4 控制图形输出 574
16.2.5 保存句柄 578
16.3 对象属性设置 579
16.3.1 设置属性 579
16.3.2 设置默认属性 580
16.3.3 通用属性 583
16.4 Figure对象 584
16.4.1 Figure对象介绍 584
16.4.2 Figure对象操作 586
16.5 Axes对象 586
16.5.1 坐标轴介绍 586
16.5.2 标签与外观 586
16.5.3 位置 587
16.5.4 一图多轴 588
16.5.5 坐标轴控制 591
16.5.6 线条颜色控制 593
16.5.7 绘图操作 594
16.6 Core对象 595
16.6.1 Core对象介绍 595
16.6.2 Core对象创建示例 595
16.7 Plot对象 596
16.7.1 Plot对象介绍 596
16.7.2 Plot对象创建示例 596
16.7.3 连接变量 597
16.8 Group对象 598
16.8.1 Group对象介绍 598
16.8.2 创建Group对象 598
16.8.3 对象变换 599
16.9 Annotation对象 600
16.9.1 Annotation对象介绍 600
16.9.2 Annotation对象使用示例 600
16.10 本章小结 601
第17章 图形用户界面 602
17.1 图形用户界面介绍 603
17.2 图形用户界面控件 603
17.2.1 图形用户界面控件的创建 604
17.2.2 鼠标动作执行 606
17.2.3 事件队列的执行顺序 608
17.2.4 回调函数的编写 609
17.3 对话框对象 612
17.3.1 公共对话框 612
17.3.2 一般对话框 616
17.4 界面菜单 622
17.4.1 菜单建立 622
17.4.2 菜单属性 623
17.5 编写M文件 624
17.6 图形界面创建工具GUIDE 625
17.6.1 利用创建工具GUIDE进行GUI设计 626
17.6.2 GUIDE创建的工具 633
17.6.3 创建带Uicontrol控件的图形界面 635
17.7 本章小结 636
第18章 文件读取I/O 637
18.1 文件夹的管理 638
18.1.1 当前文件夹管理 638
18.1.2 创建文件夹 641
18.1.3 删除文件夹 642
18.1.4 复制或移动文件夹 643
18.2 打开和关闭文件 646
18.2.1 打开文件 646
18.2.2 关闭文件 648
18.3 工作区数据——MAT文件 648
18.3.1 输出数据到MAT文件 649
18.3.2 读取MAT文件——load函数 649
18.3.3 查看MAT文件的变量 650
18.4 读/写二进制文件 651
18.4.1 写二进制文件 651
18.4.2 读二进制文件 653
18.5 读/写文本文件 656
18.5.1 写文本文件 656
18.5.2 读文本文件 657
18.5.3 其他读/写文本文件的函数 661
18.6 文件内的位置控制 667
18.7 导入数据 669
18.8 本章小结 671
第19章 MATLAB编译器 672
19.1 MATLAB Compiler(编译器)概述 673
19.2 编译器的安装和配置 674
19.2.1 编译器的安装 674
19.2.2 编译器的配置 674
19.3 编译过程 674
19.3.1 安装MCR 674
19.3.2 MCR编译过程 677
19.4 编译命令mcc 677
19.5 编译生成独立运行程序 678
19.5.1 编译M文件 678
19.5.2 编译图形绘制M文件 681
19.5.3 由含feval指令的M文件生成EXE文件 682
19.5.4 编译GUI文件 684
19.6 本章小结 685
第20章 外部接口应用介绍 686
20.1 接口概述 687
20.1.1 MEX文件介绍 687
20.1.2 MAT文件介绍 687
20.1.3 MATLAB计算引擎介绍 688
20.2 基于C/C++语言的MEX文件应用 688
20.2.1 MEX文件结构 688
20.2.2 创建C/C++MEX文件 689
20.2.3 调试C/C++语言MEX程序文件 694
20.3 基于C/C++语言的MAT文件应用 695
20.3.1 使用C/C++语言创建MAT文件的过程 695
20.3.2 使用C/C++语言创建MAT文件示例 695
20.3.3 使用C/C++语言读取MAT文件示例 697
20.4 基于C/C++语言的计算引擎应用 700
20.4.1 MATLAB引擎库函数 700
20.4.2 创建MATLAB引擎调用源程序 701
20.5 MATLAB中JaVa语言的调用 702
20.5.1 Java接口使用 703
20.5.2 Java接口编程应用示例 707
20.6 本章小结 708