第1篇 MATLAB基础 2
第1章 MATLAB 2013a概述 2
1.1 MATLAB简介 2
1.1.1 MATLAB的发展 2
1.1.2 MATLAB的主要功能 3
1.1.3 MATLAB 2013a的新特性 3
1.2 MATLAB 2013a安装与卸载 4
1.2.1 MATLAB 2013a安装 4
1.2.2 MATLAB 2013a卸载 7
1.3 MATLAB 2013a用户界面 8
1.3.1菜单栏简介 8
1.3.2命令窗口 10
1.3.3历史命令窗口 12
1.3.4工作空间窗口 12
1.3.5当前目录窗口 13
1.3.6帮助系统简介 14
1.4 MATLAB 2013a基础知识 16
1.4.1 MATLAB 2013a基本数值计算 16
1.4.2 MATLAB 2013a矩阵处理 19
1.4.3 MATLAB 2013a数据可视化 20
1.4.4 MATLAB 2013a程序设计功能 22
1.5小结 23
第2篇 MATLAB中的矩阵运算 26
第2章 MATLAB 2013a的矩阵操作 26
2.1矩阵的生成 26
2.1.1简单矩阵的创建 26
2.1.2调用函数创建特殊矩阵 27
2.2矩阵的拼接 29
2.2.1基本拼接 29
2.2.2拼接函数 30
2.3改变矩阵尺寸 32
2.3.1扩大矩阵的尺寸 32
2.3.2缩小矩阵的尺寸 33
2.4改变矩阵形状 33
2.5向量、标量与空矩阵 35
2.5.1向量 35
2.5.2标量 37
2.5.3空矩阵 37
2.6矩阵寻访 39
2.6.1下标转换 39
2.6.2访问单元素 40
2.6.3访问多元素 41
2.7获取矩阵信息 42
2.7.1获取矩阵元素的数据类型 42
2.7.2获取矩阵的数据结构 44
2.7.3获取矩阵的尺寸信息 44
2.8高维数组 45
2.8.1高维数组的创建 46
2.8.2访问高维数组的信息 48
2.8.3高维数组操作函数 49
2.9小结 51
第3章 MATLAB 2013a的数据类型 52
3.1 MATLAB中的数值类型 52
3.1.1整数类型 52
3.1.2单精度浮点型 54
3.1.3双精度浮点类型 56
3.1.4复数 57
3.1.5无穷 58
3.1.6非数 59
3.2 MATLAB中的逻辑类型 60
3.2.1逻辑类型 60
3.2.2关系运算符 62
3.2.3逻辑运算符 65
3.2.4运算符的优先级 67
3.3 MATLAB中的字符与字符串 69
3.3.1字符数组的建立 69
3.3.2字符串的比较 71
3.3.3字符串的查找与替换 72
3.3.4字符串与数值类型的互相转换 73
3.4小结 74
第4章 元胞数组和构架数组 75
4.1元胞数组 75
4.1.1直接创建元胞数组 75
4.1.2调用函数生成元胞数组 76
4.1.3元胞数组的扩容、删减和重置 77
4.1.4访问元胞数组内容 79
4.1.5嵌套元胞数组 80
4.1.6字符串元胞数组 82
4.2构架数组 83
4.2.1创建构架数组 83
4.2.2访问构架数组元素 85
4.3小结 85
第5章 矩阵分析 87
5.1数值计算中的矩阵 87
5.1.1 MATLAB中的矩阵应用 87
5.1.2线性代数方程的矩阵求解法 87
5.1.3最大(小)值 88
5.2矩阵基本运算 88
5.2.1矩阵的加、减 88
5.2.2矩阵乘法 89
5.2.3矩阵除法 92
5.2.4矩阵的幂 94
5.2.5矩阵按位运算 95
5.2.6关系运算 99
5.3矩阵特征量 102
5.3.1矩阵的行列式 102
5.3.2矩阵的逆 103
5.3.3矩阵的范数 105
5.3.4矩阵的条件数 107
5.3.5矩阵的秩 110
5.4矩阵分解 111
5.4.1特征分解 112
5.4.2 Schur分解 114
5.4.3 Cholesky分解 115
5.4.4 LU分解 116
5.4.5 QR分解 119
5.4.6 SVD分解 119
5.5矩阵函数 123
5.5.1矩阵函数的概念 123
5.5.2常用矩阵函数 123
5.5.3自定义矩阵函数 125
5.6稀疏矩阵 126
5.6.1稀疏矩阵与全矩阵 127
5.6.2创建稀疏矩阵 128
5.6.3稀疏矩阵的操作 131
5.6.4稀疏矩阵的运算 135
5.7小结 140
第3篇 MATLAB数据分析 142
第6章 函数分析 142
6.1 MATLAB中函数的创建 142
6.2函数的零点 144
6.3函数微分 147
6.4函数积分 150
6.4.1单重数值积分 151
6.4.2多重数值积分 153
6.5函数最优化 154
6.6函数可视化 158
6.7小结 162
第7章 数据分析 163
7.1最大(小)值、中位数 163
7.2排序 166
7.3分位数 170
7.4求和(积)、差分 170
7.4.1求和 171
7.4.2求积 172
7.4.3求累计和、积和差分 172
7.5均值和方差 174
7.6数据预处理 177
7.6.1处理缺失数据 177
7.6.2处理异常数据 178
7.7统计分析 179
7.7.1关于数学符号的说明 179
7.7.2几种重要的概率分布 180
7.7.3生成随机数 181
7.7.4数据直方图分析 185
7.7.5数据统计函数 188
7.8小结 190
第8章 高级数值计算 191
8.1多项式 191
8.1.1多项式表示 191
8.1.2矩阵的特征多项式 191
8.1.3求多项式的值 192
8.1.4求多项式的根 194
8.1.5多项式卷积和反卷积 195
8.1.6多项式微积分 195
8.1.7有理式的部分展开 197
8.2插值 199
8.2.1一维插值 199
8.2.2二维插值 201
8.2.3高维插值 203
8.2.4样条插值 205
8.2.5插值方法比较 206
8.3回归分析 210
8.3.1线性回归分析 210
8.3.2多项式回归分析 212
8.3.3多分量回归分析 213
8.4曲线拟合 214
8.4.1多项式拟合 215
8.4.2指数函数拟合 216
8.4.3交互式曲线拟合工具 216
8.5傅里叶分析 219
8.5.1快速傅里叶变换(FFT)、逆快速傅里叶变换(IFFT) 219
8.5.2 FFT的幅度和相位 220
8.5.3傅里叶分析的应用例子 222
8.6常微分方程 224
8.6.1一阶常微分方程 224
8.6.2 ODE函数的选择 228
8.6.3高阶常微分方程 230
8.7小结 231
第9章 符号计算 232
9.1符号类型与数值类型的区别 232
9.2符号对象及其创建 233
9.2.1创建符号变量 233
9.2.2创建符号表达式 235
9.2.3符号对象与数值的转换 236
9.3符号函数 239
9.3.1创建符号函数 239
9.3.2复合函数 240
9.3.3反函数 242
9.3.4特殊符号函数 243
9.4符号表达式的复合和化简 243
9.4.1显示符号表达式 243
9.4.2展开、分解及化简符号表达式 244
9.4.3符号表达式替换 247
9.5符号矩阵 249
9.5.1创建符号矩阵 249
9.5.2符号矩阵的代数运算 250
9.5.3符号矩阵的逻辑运算 252
9.5.4符号矩阵的行列式 253
9.5.5符号矩阵的逆 254
9.5.6符号矩阵的秩 255
9.5.7符号矩阵的特征分解 256
9.5.8符号矩阵的SVD分解 258
9.6符号微积分 261
9.6.1极限 261
9.6.2微分 264
9.6.3积分 266
9.6.4 Taylor展开 268
9.6.5级数求和 270
9.7符号方程求解 271
9.7.1一般代数方程 271
9.7.2线性代数方程组 274
9.7.3符号常微分方程 275
9.8小结 279
第4篇 MATLAB图形 282
第10章 二维图形 282
10.1二维图形的绘制 282
10.1.1二维图形绘图步骤 282
10.1.2绘制二维图形 284
10.1.3快速绘图函数 286
10.1.4绘制子图 288
10.1.5图形叠绘 292
10.1.6绘制双Y轴图形 294
10.1.7交互式绘图函数 296
10.2编辑二维图形 300
10.2.1设置图形线型、数据点型和颜色 300
10.2.2设置坐标轴区间 303
10.2.3设置图形网格和坐标轴外框 305
10.2.4注释图形 306
10.3绘制和编辑特殊图形 309
10.3.1绘制和编辑条形图 309
10.3.2绘制和编辑区域图 312
10.3.3绘制和编辑饼状图 313
10.3.4绘制和编辑柱状图 315
10.3.5绘制和编辑离散数据点图形 317
10.3.6绘制和编辑罗盘图 318
10.3.7绘制和编辑羽毛图 319
10.3.8绘制和编辑轮廓图 320
10.3.9绘制和编辑箭头图 323
10.4小结 324
第11章 三维图形 325
11.1绘制三维图形 325
11.1.1基本绘制函数——plot3函数 325
11.1.2绘制三维网格——mesh函数 326
11.1.3绘制三维曲面——surf函数 328
11.2三维图形编辑 330
11.2.1色彩处理 330
11.2.2光源设置 333
11.2.3视角控制 334
11.3高维可视化 335
11.4小结 336
第12章 图形对象和句柄 337
12.1图形对象 337
12.1.1图形对象的体系结构 337
12.1.2图形对象的类型 338
12.1.3 MATLAB中对象的属性 339
12.2访问对象句柄 340
12.2.1获取当前对象的句柄 341
12.2.2调用findobj函数通过属性值查询对象 342
12.2.3使用句柄操作对象 342
12.3设置和访问MATLAB对象属性 344
12.3.1设置属性值 344
12.3.2查询属性值 345
12.3.3默认属性 346
12.4图形窗口对象 350
12.4.1设置图形窗口的位置属性 350
12.4.2设置图形窗口的色彩属性 351
12.4.3图像窗口的绘制模式 351
12.4.4定制图形窗口的光标 351
12.5轴对象 352
12.5.1设置轴对象的位置属性 352
12.5.2设置轴对象的刻度、刻度标记及坐标轴方向属性 353
12.5.3轴对象的多轴重叠 355
12.5.4轴对象的自动模式属性 357
12.6控制图形输出 357
12.6.1定制图形输出的窗口 357
12.6.2定制图形输出的轴 357
12.6.3利用newPlot属性定制图形输出的重叠属性 358
12.7 M文件内对句柄的操作 359
12.8小结 360
第5篇 MATLAB程序设计 362
第13章 MATLAB 2013a程序设计 362
13.1 M文件 362
13.1.1 M文件的结构 362
13.1.2 M文件分类 364
13.1.3脚本文件 365
13.1.4函数文件 367
13.1.5 P码文件 370
13.2变量 371
13.2.1命名变量 372
13.2.2 MATLAB特殊变量 372
13.2.3 MATLAB中的关键字 374
13.2.4不同类型的变量 375
13.2.5变量检测函数 376
13.3函数 377
13.3.1匿名函数 378
13.3.2主函数与子函数 378
13.3.3嵌套函数 380
13.4程序结构及流控制语句 381
13.4.1顺序结构 382
13.4.2循环结构——for语句 383
13.4.3循环结构——while语句 384
13.4.4分支结构——if语句 385
13.4.5分支结构——switch语句 389
13.4.6纠错结构——try-catch语句 391
13.4.7跳出循环——continue语句 394
13.4.8结束循环——break语句 395
13.5交互控制指令 396
13.5.1输入控制——input指令 396
13.5.2键盘控制——keyboard指令 397
13.5.3暂停执行——pause指令 397
13.5.4终止操作——return指令 399
13.5.5错误警告——warning指令 400
13.5.6警告中止——error指令 401
13.5.7指令查询——echo指令 401
13.6小结 402
第14章 程序调试、优化和出错处理 403
14.1程序调试 403
14.1.1调试的基本任务 403
14.1.2调试函数 406
14.1.3 MATLAB调试器 407
14.1.4警告和错误 412
14.2性能优化 413
14.2.1性能分析 413
14.2.2效率优化技术 416
14.2.3内存优化技术 416
14.3出错处理 417
14.3.1 Try-catch错误查询 417
14.3.2错误处理 417
14.4小结 420
第15章 图形用户界面(GUI) 421
15.1 GUI设计方式 421
15.1.1 GUI对象及层次结构 421
15.1.2回调函数 422
15.1.3手工代码式GUI程序 423
15.1.4 GUIDE式GUI程序 425
15.1.5 GUIDE界面环境 428
15.2 GUI界面设计 431
15.2.1界面设计原则 431
15.2.2窗口和轴 432
15.2.3菜单 432
15.2.4控件 436
15.3 GUI程序设计 436
15.3.1 GUI M文件结构 436
15.3.2 GUIDE的数据组织 437
15.3.3设计回调函数 438
15.4 GUI应用实例 439
15.4.1分析用户需求 440
15.4.2设计GUI界面 440
15.4.3设计GUI程序 443
15.4.4 GUI程序发布 444
15.5小结 445
第16章 MATLAB文件I/O操作 446
16.1 MATLAB可读取文件格式 446
16.2高级文件I/O程序 447
16.2.1 LOAD/SAVE函数 447
16.2.2 UIGETFILE/UIPUTFILE函数 448
16.2.3 UIIMPORT/IMPORTDATA函数 449
16.2.4 TEXTREAD/STRREAD函数 451
16.3低级文件I/O程序 452
16.3.1 FOPEN函数 452
16.3.2 FCLOSE函数 453
16.3.3 FWRITE函数 454
16.3.4 FREAD函数 454
16.3.5 FSCANF函数 455
16.3.6 FPRINTF函数 455
16.4小结 456
第17章 MATLAB 2013a编译器 457
17.1 MATLAB编译器简介 457
17.1.1 MATLAB Compiler 4 457
17.1.2 MATLAB Compiler 4的功能和局限性 458
17.1.3脚本文件与函数文件的转换 459
17.2编译器的安装和设置 461
17.2.1安装编译器 461
17.2.2设置编译器 461
17.2.3安装MCR 463
17.3编译器使用入门 464
17.3.1 mcc编译指令 464
17.3.2 M文件编译 466
17.3.3编译含绘图指令的M文件 470
17.4由M文件创建独立可执行的应用程序 471
17.5由M文件创建函数库(DLL) 472
17.6小结 477
第18章 应用程序接口 479
18.1 mxArray数据结构 479
18.1.1 MATLAB和C/FORTRAN中的数组 479
18.1.2 mxArray 480
18.1.3 mx函数 482
18.2 C/FORTRAN MEX 486
18.2.1 MEX文件简介 486
18.2.2配置MEX 489
18.2.3 C MEX 490
18.2.4 FORTRAN MEX 492
18.3 MATLAB引擎 494
18.3.1 MATLAB引擎简介 494
18.3.2 MATLAB引擎函数 495
18.3.3 MATLAB引擎应用示例 497
18.4 C读写MAT文件 500
18.4.1 MAT文件 501
18.4.2 MAT函数 501
18.4.3 C读写MAT文件 502
18.5小结 504
第19章 Notebook的运用 505
19.1 Notebook安装和启动 505
19.1.1 Notebook的安装 505
19.1.2 Notebook的启动 506
19.1.3 Notebook的初始化 508
19.2细胞 508
19.2.1输入细胞和输出细胞 508
19.2.2自初始化细胞 510
19.3 Notebook菜单 512
19.3.1 Define Calc Zone——定义“计算区” 513
19.3.2 Group Cells——定义“细胞群” 514
19.3.3 Toggle Graph Output for Cell——细胞图形输出拨动控制开关 515
19.3.4 Evaluate Loop——细胞的循环运行 517
19.3.5 Notebook Options——输出细胞格式控制 517
19.4 Notebook使用注意问题 518
19.5小结 519
第6篇 MATLAB常见工具箱 522
第20章 图像处理工具箱 522
20.1数字图像基础知识 522
20.1.1数字图像的生成 522
20.1.2图像的类型 524
20.1.3读写图像数据 525
20.1.4显示图像数据 527
20.1.5转换图像格式 529
20.2图像的灰度变换 534
20.2.1图像的直方图 534
20.2.2灰度变换 536
20.2.3直方图均衡 539
20.3图像的代数运算 540
20.3.1图像加法 541
20.3.2图像乘法 542
20.3.3图像减法 542
20.3.4图像除法 543
20.4图像的几何运算 543
20.4.1缩放图像 543
20.4.2旋转图像 545
20.4.3裁剪图像 546
20.5线性滤波 547
20.5.1卷积和相关 547
20.5.2线性滤波 548
20.6排序滤波 551
20.6.1中值滤波 551
20.6.2最大(小)值滤波 553
20.7小结 554
第21章 信号处理工具箱 555
21.1 MATLAB中信号的描述 555
21.2典型信号的生成 556
21.2.1正弦波和余弦波 556
21.2.2周期方波和锯齿波 558
21.2.3周期sinc函数 558
21.2.4高斯调整正弦脉冲 559
21.2.5扫频信号 559
21.2.6单位脉冲信号 560
21.2.7单位序列 561
21.2.8均匀分布的随机序列 562
21.2.9高斯分布的随机序列 562
21.3随机信号处理和谱分析 563
21.3.1随机信号互相关函数估计 563
21.3.2互协方差函数估计 564
21.3.3谱分析函数psd 565
21.3.4谱分析函数pwelch 566
21.4模拟滤波器设计 568
21.4.1滤波器的设计参数 568
21.4.2巴特沃思滤波器 568
21.4.3切比雪夫Ⅰ型滤波器 569
21.4.4切比雪夫Ⅱ型滤波器 570
21.4.5模拟滤波器的频域变换 571
21.5 IIR数字滤波器设计 572
21.5.1巴特沃思数字滤波器设计(butter函数) 573
21.5.2切比雪夫Ⅰ型数字滤波器设计(cheby1函数) 574
21.5.3切比雪夫Ⅱ型数字滤波器设计(cheby2函数) 576
21.5.4椭圆数字滤波器设计(ellip函数) 577
21.5.5数字滤波器阶数选择 579
21.6窗函数 580
21.6.1矩形窗 580
21.6.2海宁窗 581
21.6.3汉明窗 582
21.6.4布莱克曼窗 582
21.6.5凯瑟窗 583
21.7 FIR数字滤波器的窗函数设计 584
21.7.1窗函数设计法设计步骤 584
21.7.2基于窗函数法的FIR滤波器设计 588
21.7.3基于频率采样法的FIR滤波器设计 589
21.8模拟-数字滤波器变换 589
21.8.1冲激响应不变法 590
21.8.2双线性变换法 591
21.9小结 593
第22章 小波分析工具箱 594
22.1小波变换 594
22.1.1基本原理 594
22.1.2基小波函数 594
22.1.3小波变换、反变换 600
22.2小波分析应用 603
22.3交互式小波分析工具 605
22.4小结 606