第1章 MATLAB编程简介 1
1.1 MATLAB工作界面布局与路径设置 1
1.1.1 MATLAB工作界面布局 1
1.1.2 MATLAB路径设置 3
1.2变量的定义与数据类型 4
1.2.1变量的定义与赋值 4
1.2.2 MATLAB中的常量 5
1.2.3 MATLAB中的关键字 6
1.2.4数据类型 7
1.2.5数据输出格式 8
1.3常用函数 8
1.4数组运算 10
1.4.1矩阵的定义 10
1.4.2特殊矩阵 13
1.4.3高维数组 15
1.4.4定义元胞数组(Cell Array) 16
1.4.5定义结构体数组 18
1.4.6几种数组的转换 18
1.4.7矩阵的算术运算 20
1.4.8矩阵的关系运算 22
1.4.9矩阵的逻辑运算 22
1.4.10矩阵的其他常用运算 23
1.5 MATLAB语言的流程结构 27
1.5.1条件控制结构 27
1.5.2循环结构 28
1.5.3 try-catch试探结构 29
1.5.4 break、 continue、 return和pause函数 30
1.6 M代码的编写与调试 30
1.6.1脚本文件 30
1.6.2 函数文件 30
1.6.3匿名函数和内联函数 31
1.6.4子函数与嵌套函数 33
1.6.5函数的递归调用 34
1.6.6 M代码的调试(debug) 35
1.6.7 MATLAB常用快捷键和快捷命令 37
1.7 MATLAB绘图基础 38
1.7.1图形对象与图形对象句柄 38
1.7.2二维图形绘制 41
1.7.3三维图形绘制 52
1.7.4图形的打印和输出 62
第2章 数据的导入与导出 70
2.1案例1:从TXT文件中读取数据 70
2.1.1利用数据导入向导导入TXT文件 71
2.1.2调用高级函数读取数据 75
2.1.3调用低级函数读取数据 86
2.2案例2:把数据写入TXT文件 94
2.2.1调用dlmwrite函数写入数据 95
2.2.2调用fprintf函数写入数据 96
2.3案例3:从Excel文件中读取数据 99
2.3.1利用数据导入向导导入Excel文件 99
2.3.2调用xlsread函数读取数据 102
2.4案例4:把数据写入Excel文件 105
第3章 数据的预处理 108
3.1案例5:数据的平滑处理 108
3.1.1 smooth函数 108
3.1.2 smoothts函数 111
3.1.3 medfiltl函数 114
3.2案例6:数据的标准化变换 115
3.2.1标准化变换公式 115
3.2.2标准化变换的MATLAB实现 116
3.3案例7:数据的极差归一化变换 117
3.3.1极差归一化变换公式 117
3.3.2极差归一化变换的MATLAB实现 118
第4章 概率分布与随机数 121
4.1案例8:概率分布及概率计算 121
4.1.1概率分布的定义 121
4.1.2几种常用概率分布 121
4.1.3概率密度、分布和逆概率分布数值的计算 124
4.2案例9:生成一元分布随机数 126
4.2.1均匀分布随机数和标准正态分布随机数 126
4.2.2 RandStream类 128
4.2.3常见一元分布随机数 132
4.2.4任意一元分布随机数 134
4.2.5一元混合分布随机数 139
4.3案例10:生成多元分布随机数 140
4.4案例11:蒙特卡洛方法 142
4.4.1有趣的蒙提霍尔问题 142
4.4.2抽球问题的蒙特卡洛模拟 143
4.4.3用蒙特卡洛方法求圆周率π 145
4.4.4用蒙特卡洛方法求积分 147
4.4.5街头骗局揭秘 152
第5章 描述性统计量和统计图 156
5.1案例背景 156
5.2案例描述 156
5.3案例12:描述性统计量 158
5.3.1均值 158
5.3.2方差和标准差 159
5.3.3最大值和最小值 160
5.3.4极差 160
5.3.5中位数 160
5.3.6分位数 160
5.3.7众数 161
5.3.8变异系数 161
5.3.9原点矩 161
5.3.10中心矩 162
5.3.11偏度 162
5.3.12峰度 162
5.3.13协方差 162
5.3.14相关系数 163
5.4案例13:统计图 163
5.4.1箱线图 163
5.4.2频数(率)直方图 164
5.4.3经验分布函数图 165
5.4.4正态概率图 166
5.4.5 p-P图 168
5.4.6 q-q图 168
5.5案例扩展:频数和频率分布表 169
5.5.1调用tabulate函数作频数和频率分布表 169
5.5.2调用自编HistRate函数作频数和频率分布表 171
第6章 参数估计与假设检验 175
6.1案例14:参数估计 175
6.1.1常见分布的参数估计 175
6.1.2自定义分布的参数估计 176
6.2案例15:正态总体参数的检验 178
6.2.1总体标准差已知时的单个正态总体均值的U检验 178
6.2.2总体标准差未知时的单个正态总体均值的t检验 180
6.2.3总体标准差未知时的两个正态总体均值的比较t检验 181
6.2.4总体均值未知时的单个正态总体方差的x2检验 183
6.2.5总体均值未知时的两个正态总体方差的比较F检验 184
6.2.6检验功效与样本容量的计算 185
6.3案例16:常用非参数检验 188
6.3.1游程检验 188
6.3.2符号检验 191
6.3.3 Wilcoxon符号秩检验 192
6.3.4 Mann-Whitney秩和检验 194
6.3.5分布的拟合与检验 195
6.4案例17:核密度估计 208
6.4.1经验密度函数 209
6.4.2核密度估计 209
6.4.3核密度估计的MATLAB实现 211
6.4.4核密度估计的案例分析 212
第7章 Copula理论及应用实例 217
7.1 Copula函数的定义与基本性质 217
7.1.1二元Copula函数的定义及性质 217
7.1.2多元Copula函数的定义及性质 218
7.2常用的Copula函数 219
7.2.1正态Copula函数 219
7.2.2 t - Copula函数 219
7.2.3阿基米德copula函数 219
7.3 Copula函数与相关性度量 221
7.3.1 Pearson线性相关系数P 221
7.3.2 Kendall秩相关系数τ 221
7.3.3 Spearman秩相关系数Ps 222
7.3.4尾部相关系数λ 222
7.3.5基于Copula函数的相关性度量 222
7.3.6基于常用二元Copula函数的相关性度量 223
7.4案例18:沪深股市日收益率的二元Copula模型 226
7.4.1案例描述 226
7.4.2确定边缘分布 227
7.4.3选取适当的Copula函数 231
7.4.4参数估计 232
7.4.5与Copula有关的MATLAB函数 233
7.4.6案例的计算与分析 236
第8章 方差分析 243
8.1案例19:单因素一元方差分析 243
8.1.1单因素一元方差分析的MATLAB实现 243
8.1.2案例分析 246
8.2案例20:双因素一元方差分析 251
8.2.1双因素一元方差分析的MATLAB实现 251
8.2.2案例分析 252
8.3案例21:多因素一元方差分析 255
8.3.1多因素一元方差分析的MATLAB实现 255
8.3.2案例分析一 257
8.3.3案例分析二 261
8.4案例22:单因素多元方差分析 264
8.4.1单因素多元方差分析的MATLAB实现 264
8.4.2案例分析 266
8.5案例23:非参数方差分析 269
8.5.1非参数方差分析的MATLAB实现 269
8.5.2 Kruskal-Wallis检验的案例分析 272
8.5.3 Friedman检验的案例分析 275
第9章 回归分析 277
9.1 MATLAB回归模型类 277
9.1.1线性回归模型类 277
9.1.2非线性回归模型类 280
9.2案例24:一元线性回归 281
9.2.1数据的散点图 283
9.2.2模型的建立与求解 283
9.2.3回归诊断 285
9.2.4稳健回归 290
9.3案例25:一元非线性回归 291
9.3.1数据的散点图 292
9.3.2模型的建立与求解 292
9.3.3回归诊断 296
9.3.4利用曲线拟合工具cftool作一元非线性拟合 297
9.4案例26:多元线性和广义线性回归 300
9.4.1可视化相关性分析 301
9.4.2多元线性回归 302
9.4.3多元多项式回归 305
9.4.4拟合效果图 306
9.4.5逐步回归 306
9.5案例27:多元非线性回归 309
9.5.1案例描述 309
9.5.2模型建立 310
9.5.3模型求解 310
9.6案例28:多项式回归 312
9.6.1多项式回归模型 312
9.6.2多项式回归的MATLAB实现 312
9.6.3多项式回归案例 313
第10章 聚类分析 319
10.1聚类分析简介 319
10.1.1距离和相似系数 319
10.1.2系统聚类法 321
10.1.3 K均值聚类法 325
10.1.4模糊C均值聚类法 325
10.2案例29:系统聚类法的案例分析 327
10.2.1系统聚类法的MATLAB函数 327
10.2.2样品聚类案例 335
10.2.3变量聚类案例 340
10.3案例30: K均值聚类法的案例分析 343
10.3.1 K均值聚类法的MATLAB 函数 343
10.3.2 K均值聚类法案例 347
10.4案例31:模糊C均值聚类法的案例分析 351
10.4.1模糊C均值聚类法的MATLAB函数 351
10.4.2模糊C均值聚类法案例 351
第11章 判别分析 356
11.1判别分析简介 356
11.1.1距离判别 356
11.1.2贝叶斯判别 359
11.1.3 Fisher判别 359
11.2案例32:距离判别法的案例分析 361
11.2.1 classify函数 361
11.2.2案例分析 363
11.3案例33:贝叶斯判别法的案例分析 366
11.3.1 NaiveBayes类 366
11.3.2案例分析 368
11.4案例34:Fisher判别法的案例分析 371
11.4.1 Fisher判别分析的MATLAB实现 371
11.4.2案例分析 375
第12章 主成分分析 379
12.1主成分分析简介 379
12.1.1主成分分析的几何意义 379
12.1.2总体的主成分 380
12.1.3样本的主成分 382
12.1.4关于主成分表达式的两点说明 384
12.2主成分分析的MATLAB函数 384
12.2.1 pcacov函数 384
12.2.2 princomp 函数 384
12.2.3 pcares函数 385
12.3案例35:从协方差矩阵或相关系数矩阵出发求解主成分 386
12.3.1调用pcacov函数做主成分分析 386
12.3.2结果分析 387
12.4案例36:从样本观测值矩阵出发求解主成分 388
12.4.1调用princomp函数做主成分分析 389
12.4.2结果分析 394
12.4.3调用pcares函数重建观测数据 396
第13章 因子分析 398
13.1因子分析简介 398
13.1.1基本因子分析模型 398
13.1.2因子模型的基本性质 399
13.1.3因子载荷阵和特殊方差阵的估计 400
13.1.4因子旋转 402
13.1.5因子得分 403
13.1.6因子分析中的Heywood现象 404
13.2因子分析的MATLAB函数 404
13.3案例37:基于协方差矩阵或相关系数矩阵的因子分析 407
13.4案例38:基于样本观测值矩阵的因子分析 412
13.4.1读取数据 413
13.4.2调用factoran函数作因子分析 414
第14章 利用MATLAB生成Word和Excel文档 419
14.1组件对象模型(COM) 419
14.1.1什么是COM 419
14.1.2 COM接口 420
14.2 MATLAB中的ActiveX控件接口技术 421
14.2.1 actxcontrol函数 421
14.2.2 actxcontrollist函数 423
14.2.3 actxcontrolselect函数 423
14.2.4 actxserver函数 425
14.2.5利用MATLAB调用COM对象 425
14.2.6调用actxserver函数创建组件服务器 434
14.3案例39:利用MATLAB生成Word文档 437
14.3.1调用actxserver函数创建Microsoft Word服务器 437
14.3.2建立Word文本文档 437
14.3.3插入表格 442
14.3.4插入图片 446
14.3.5保存文档 452
14.3.6完整代码 452
14.4案例40:利用MATLAB生成Excel文档 458
14.4.1调用actxserver函数创建Microsoft Excel服务器 458
14.4.2新建Excel工作簿 458
14.4.3获取工作表对象句柄 460
14.4.4插入、复制、删除、移动和重命名工作表 460
14.4.5页面设置 461
14.4.6选取工作表区域 462
14.4.7设置行高和列宽 463
14.4.8合并单元格 463
14.4.9边框设置 464
14.4.10设置单元格对齐方式 467
14.4.11写入单元格内容 467
14.4.12插入图片 468
14.4.13保存工作簿 473
14.4.14完整代码 473
附录A图像处理中的统计应用案例 477
A.1基于图像资料的数据重建与拟合 478
A.1.1案例描述 478
A.1.2重建图像数据 478
A.1.3曲线拟合 481
A.2基于K均值聚类的图像分割 482
A.2.1灰度图像分割案例 482
A.2.2真彩图像分割案例 484
A.3基于中位数算法的运动目标检测 486
A.3.1案例描述 486
A.3.2中位数算法原理 486
A.3.3本案例的MATLAB实现一 487
A.3.4本案例的 MATLAB实现二 488
A.3.5本案例的MATLAB实现三 488
A.4基于贝叶斯判别的手写体数字识别 489
A.4.1样本图片的预处理 489
A.4.2创建朴素贝叶斯分类器对象 491
A.4.3判别效果 491
A.5基于主成分分析的图像压缩与重建 493
A.5.1基于主成分分析的图像压缩与重建原理 494
A.5.2图像压缩与重建的MATLAB实现 495
附录B MATLAB统计工具箱函数大全 498
参考文献 513