第1篇 基础知识 3
第1章 MATLAB操作基础 2
1.1 MATLAB概述 3
1.2 MATLAB发展历史 3
1.3 MATLAB主要功能 4
1.4 MATLAB安装 5
1.5 MATLAB的启动和退出 7
1.5.1 MATLAB启动 7
1.5.2 MATLAB的退出 8
1.6 MATLAB操作界面 8
1.6.1菜单栏 8
1.6.2工具栏 13
1.6.3命令窗口 13
1.6.4工作空间窗口 15
1.6.5当前目录窗口 15
1.6.6历史记录窗口 17
1.7 MATLAB联机帮助系统 18
1.7.1联机帮助系统 18
1.7.2命令窗口查询帮助 19
第2章 数据结构与类型 22
2.1常量与变量 23
2.1.1常量 23
2.1.2变量 24
2.2数组与矩阵 25
22.1数组 25
2.2.2矩阵 31
2.3逻辑类型与关系运算 36
2.3.1逻辑数据类型 37
2.3.2逻辑运算 38
2.3.3关系运算 39
2.3.4运算符优先级 41
2.4字符串 41
2.4.1创建字符串 41
2.4.2类型转换 43
2.4.3比较字符串 45
2.4.4字符分类 46
2.4.5查找与替换 46
2.5结构数组 47
2.5.1结构数组的创建 47
2.5.2结构数组中的数据获取 49
2.5.3结构数组中的操作 50
2.5.4结构数组的大小 52
2.5.5结构数组的嵌套 53
2.6元胞数组 54
2.6.1元胞数组的创建 54
2.6.2元胞数组中的数据获得 55
2.6.3元胞数组的删除与重塑 57
2.6.4元胞数组中的操作函数 59
2.6.5元胞数组的嵌套 61
2.6.6元胞数组与数值数组间的转化 62
第3章 数值计算及数据分析 65
3.1因式分解 65
3.1.1行列式、逆和秩 65
3.1.2 LU因式分解 67
3.1.3 QR因式分解 69
3.1.4范数 70
3.2矩阵特征值和奇异值 72
3.2.1特征值和特征向量的求取 72
3.2.2奇异值分解 74
3.3数据分析和统计 76
3.3.1基本的数据分析函数 76
3.3.2协方差和相关系数函数 82
3.4数值积分 83
3.4.1一元函数的数值积分 83
3.4.2二重积分的数值计算 85
3.4.3三重积分的数值计算 85
3.5插值 86
3.5.1一维数据插值 86
3.5.2二维数据插值 88
3.5.3多维插值 89
3.6多项式曲线拟合 90
3.6.1最小二乘原理及其曲线拟合算法 90
3.6.2曲线拟合的实现 91
3.7傅里叶分析 92
3.7.1傅里叶变换 92
3.7.2快速傅里叶变换 93
3.8微分方程 96
3.8.1常微分方程 96
3.82偏微分方程 99
3.9稀疏矩阵 103
3.9.1稀疏矩阵的存储方式 103
3.9.2稀疏矩阵的创建 103
3.9.3稀疏矩阵的函数处理 106
3.9.4稀疏矩阵的交换与重新排序 108
第4章 符号运算 110
4.1符号变量、表达式及符号方程 111
4.1.1使用sym函数定义符号变量及表达式 111
4.1.2使用syms函数定义符号变量及表达式 112
4.1.3符号方程的生成 112
4.2符号变量的基本操作 112
4.2.1 findsym函数 113
4.2.2任意精度确定的符号表达式 113
4.2.3数值型与符号型变量的转换 114
4.3符号矩阵的生成和运算 115
4.3.1符号矩阵的生成 116
4.3.2符号矩阵及符号数组的运算 117
4.4符号微积分 122
4.4.1符号求极限 122
4.4.2符号求导与微分 123
4.4.3符号积分 124
4.4.4级数求和 125
4.4.5 taylor级数 125
4.5符号函数图形表示 126
4.5.1绘制符号函数的图形 126
4.5.2三维参量曲线图 127
4.5.3极坐标图形 128
4.5.4符号函数的三维网格图 128
4.5.5绘制符号函数等高线图 129
4.5.6不同颜色填充等高线图 130
4.5.7曲面网格图与等高线图的混合图 131
4.5.8三维彩色曲面图 132
4.5.9曲面图与等高线图的混合图 133
4.5.10绘制函数图形 134
4.6符号代数方程的求解 135
4.6.1求代数方程符号解 135
4.6.2求代数方程组符号解 136
4.6.3求微分方程符号解 138
4.6.4求微分方程组符号解 139
4.7符号表达式的基本运算 140
4.7.1符号表达式的提取分子、分母运算 140
4.7.2符号表达式的基本代数运算 141
4.7.3符号表达式的高级运算 141
4.7.4符号数值函数的创建 147
第5章 MATLAB编程基础 148
5.1 M文件 149
5.1.1 M文件编辑器 149
5.1.2 M文件的基本内容 150
5.1.3脚本式M文件 152
5.1.4函数式M文件 153
5.2函数流程控制 154
5.2.1顺序结构 154
5.2.2 if...else...end 155
5.2.3 switch...case...end 158
5.2.4 for循环 159
5.2.5 while循环 162
5.2.6人机交互命令 163
5.3函数的类型 168
5.3.1主函数 168
5.3.2子函数 168
5.3.3私有函数 170
5.3.4嵌套函数 171
5.3.5重载函数 177
5.3.6匿名函数 177
5.4函数的变量和参数 183
5.4.1变量类型 183
5.4.2变量的输入输出规则 184
5.4.3向嵌套函数输入可选参数 187
5.4.4传送特定类型的参数 189
5.5函数句柄 191
5.5.1函数句柄的创建 191
5.5.2函数句柄的调用 192
5.5.3函数句柄的操作 192
5.6内存的使用 194
5.6.1内存管理函数 194
5.6.2高效使用内存的策略 194
5.6.3解决“Out of Memory”错误 196
5.7程序调试和优化 196
5.7.1使用Debugger窗口进行调试 197
5.7.2在命令窗口中进行调试 202
5.7.3 Profile性能检测 205
5.8错误处理 209
5.8.1使用try-catch语句捕捉错误 209
5.8.2处理错误和从错误中恢复 209
5.8.3警告 212
5.9程序开发的一些建议 215
第2篇 开发进阶 219
第6章 MATLAB文件操作 218
6.1 MATLAB支持的文件格式 219
6.2使用导入向导来导入文本数据 219
6.3使用导入函数来导入文本数据 222
6.3.1导入数值文本数据 223
6.3.2导入有分隔符的ASCII数据文件 224
6.3.3导入带有文本头的文件数据 225
6.3.4导入字母数值混合的数据 225
6.4按照ASCII码格式导出数据 226
6.4.1将数据导出成带有分隔符的ASCII码文件 227
6.4.2使用diary命令来导出数据 228
6.4.3用csvwrite函数导出矩阵数据 229
6.5对mat文件的操作 229
6.5.1使用向导来导入mat文件中的数据 229
6.5.2使用函数或命令来预览和导入mat文件中的数据 230
6.6将Workspace中数据导出为mat文件 231
6.6.1通过菜单将Workspace中数据导出为mat文件 232
6.6.2通过save命令导出Workspace中数据为mat文件 232
6.7对图像文件的操作 234
6.7.1使用向导导入图像文件 234
6.7.2读入与导出图像文件数据 234
6.8对音频和视频文件的操作 235
6.8.1利用向导打开音频或视频文件 235
6.8.2获取音频和视频文件的文件头信息 236
6.8.3音频视频文件的读入与导出 236
6.9对表文件的操作 239
6.9.1对Excel文档的操作 239
6.9.2对Lotus 123数据表的操作 241
6.10使用低端I/O函数来操作文件 242
6.10.1文件的打开和关闭 242
6.10.2二进制数据的读取 243
6.10.3二进制数据的写入 245
6.10.4逐行读取文本文件 245
6.10.5格式化读取ASCII码数据 246
6.10.6格式化写入文本文件 247
6.10.7控制文件指针 248
第7章 数据可视化 251
7.1二维图形 252
7.1.1基本绘图函数 252
7.1.2特殊二维图形 257
7.2三维图形 266
7.2.1绘制三维曲线图 266
7.2.2绘制三维曲面图 267
7.2.3特殊三维图形 269
7.3图形注释 271
7.3.1图形注释方法 271
7.3.2图题的标注 272
7.3.3添加坐标轴标注 273
7.3.4文本标注和交互式文本标注 274
7.3.5图例的添加 275
7.3.6坐标网格的添加 276
7.4三维图形的高级控制 277
7.4.1视点控制 277
7.4.2颜色的使用 278
7.4.3光照控制 280
第3篇 行业应用 283
第8章 MATLAB在数字图像处理中的应用 282
8.1数字图像处理学 283
8.1.1数字图像处理内容 283
8.1.2数字图像处理应用 283
8.2 MATLAB图像 285
8.2.1 MATLAB图像类型 285
8.2.2图像格式 286
8.3图像文件的操作 287
8.3.1查询图像文件的信息 287
8.3.2图像文件的读取 288
8.3.3图像文件的显示 289
8.3.4图像文件的存储 291
8.3.5图像格式的转换 291
8.4图像的几何运算 295
8.4.1图像的平移 295
8.4.2图像的镜像变换 297
8.4.3图像缩放 298
8.4.4图像的旋转 299
8.4.5图像的剪切 301
8.5图像的正交变换 302
8.5.1傅里叶变换 302
8.5.2离散余弦变换 309
8.5.3沃尔什-哈达玛变换(WHT) 312
8.5.4 Radon变换 317
8.6 MATLAB图像增强 319
8.6.1像素值及其统计特性 319
8.6.2对比度增强 322
8.6.3直方图均衡化 324
8.6.4空域滤波增强 326
8.6.5频域增强 331
第9章 MATLAB优化问题应用 334
9.1 MATLAB求解器 336
9.2求解极小值 336
9.2.1标量最小值优化 337
9.2.2无约束最小值优化 340
9.2.3线性规划 345
9.2.4二次规划 347
9.2.5约束最小值优化 350
9.3多目标优化 354
9.3.1 fgoalattain函数 355
9.3.2 fminimax函数 358
9.4方程组求解 360
9.4.1 fzero函数 360
9.4.2 fsolve函数 362
9.5最小二乘及数据拟合 365
9.5.1 lsqnonneg函数 365
9.5.2 lsqlin函数 367
9.5.3 lsqnonlin函数 369
9.5.4 lsqcurvefit函数 371
9.6直接搜索法 373
9.7模拟退火算法 374
9.7.1模拟退火算法简介 374
9.7.2模拟退火算法应用实例 376
9.7.3关于验证计算 378
9.8遗传算法 379
9.8.1遗传算法简介 379
9.8.2遗传算法应用实例 382
9.9 optimtool简介 384
第10章 MATLAB在信号处理中的应用 389
10.1信号处理基本理论与MATLAB实现 390
10.1.1信号处理基本理论 390
10.1.2信号的产生 391
10.1.3离散信号的基本运算 394
10.2离散信号的数学变换和MATLAB实现 394
10.2.1 Z变换分析 394
10.2.2 Z变换MATLAB实现 395
10.2.3 Fourier变换分析 397
10.2.4离散Fourier变换MATLAB实现 397
10.3数字滤波器的结构 399
10.3.1数字滤波器 399
10.3.2 IIR数字滤波器的结构 400
10.3.3 FIR数字滤波器的结构 402
10.4 IIR滤波器的MATLAB实现 403
10.4.1 IIR滤波器经典设计 404
10.4.2 IIR滤波器的直接设计法 413
10.4.3广义巴特沃思的IIR滤波器设计 414
10.5 FIR滤波器的MATLAB实现 416
10.5.1 FIR滤波器设计 416
10.5.2 fir1函数 417
10.5.3 fir2函数 419
第11章 Simulink仿真 421
11.1 Simulink简介 422
11.1.1 Simulink功能与特点 422
11.1.2 Simulink的安装 424
11.1.3 Simulink 7.1新特点 424
11.2 Simulink基础 425
11.2.1 Simulink模型是什么 425
11.2.2 Simulink启动与窗口介绍 425
11.2.3 Simulink模块操作 427
11.2.4 Simulink信号线操作 431
11.2.5 Simulink对模型的注释 432
11.2.6 Simulink常用的模型库 434
11.2.7 Simulink仿真配置 436
11.3 Simulink动态系统仿真 445
11.3.1简单系统的仿真分析 445
11.3.2离散系统的仿真分析 448
11.3.3连续系统的仿真分析 450
11.4 Simulink模型中的子系统 454
11.4.1子系统的建立 454
11.4.2子系统的封装 458
11.5 Simulink S-函数 464
11.5.1什么是S-函数 464
11.5.2 S-函数的作用和原理 464
11.5.3用M文件表述的S-函数 466
11.5.4用M文件创建S-函数实例 470
第12章 图形用户界面GUI设计 473
12.1句柄图形对象 474
12.1.1图形对象 474
12.1.2图形对象句柄 474
12.1.3图形对象属性的获取和设置 476
12.2 GUI的基本知识 479
12.2.1启动GUI 479
12.2.2布局(Layout)编辑器 479
12.2.3运行GUI 480
12.3创建GUI 480
12.3.1 GUI窗口布局 480
12.3.2菜单的添加 482
12.3.3控件 487
12.4 GUI编程 492
12.4.1 GUI的M文件 492
12.4.2 GUI编程举例 495
第4篇 程序接口 501
第13章 MATLAB与Office 500
13.1 MATLAB与Word 501
13.1.1 Notebook的安装 501
13.1.2 Notebook的启用 501
13.1.3 Notebook功能菜单 503
13.1.4 Notebook的使用 511
13.1.5输出的控制 515
13.2 MATLAB与Excel 516
13.2.1 Excel Link安装 516
13.2.2 Excel Link函数 520
13.2.3 Excel Link的应用 520
第14章 MATLAB应用程序接口 525
14.1 MATLAB应用程序接口介绍 526
14.2 MATLAB调用C/C++ 527
14.2.1 MATLAB MEX文件 527
14.2.2 C-MEX文件的使用 531
14.3 C/C++调用MATLAB引擎 535
14.3.1 MATLAB计算引擎概述 535
14.3.2 MATLAB计算引擎库函数 536
14.3.3 C/C++调用MATLAB引擎 538
14.4 MATLAB编译器 542
14.4.1 MATLAB编译器的安装和设置 543
14.4.2 MATLAB编译器的使用 544
14.4.3独立应用程序 546