第1章 MATLAB简介 1
1.1 MATLAB的发展史 1
1.2 MATLAB的特点及应用领域 2
1.3 MATLAB 2012a的安装 4
1.4 MATLAB 2012a的工作环境 5
1.4.1操作界面简介 5
1.4.2 Command Window 6
1.4.3 Command History窗口 9
1.4.4输入变量 11
1.4.5 Current Folder窗口和路径管理 12
1.4.6搜索路径 12
1.4.7工作区和变量编辑器 14
1.4.8变量的编辑命令 16
1.4.9存取数据文件 17
1.5 MATLAB 2012a的帮助系统 18
1.5.1纯文本帮助 18
1.5.2演示帮助 19
1.5.3帮助导航 21
1.5.4帮助文件目录 21
1.5.5帮助文件索引 22
1.6小结 22
第2章 MATLAB语言基础 23
2.1基本概念 23
2.1.1 MATLAB数据类型概述 23
2.1.2整数类型 24
2.1.3浮点数类型 26
2.1.4复数 28
2.1.5无穷量和非数值量 28
2.1.6数值类型的显示格式 29
2.1.7确定数值类型的函数 30
2.1.8常量与变量 30
2.1.9标量、向量、矩阵与数组 31
2.1.10字符串 32
2.1.11运算符 32
2.1.12命令、函数、表达式和语句 34
2.2向量运算 35
2.2.1向量的生成 35
2.2.2向量的加、减和数乘运算 37
2.2.3向量的点积、叉积运算 37
2.3矩阵运算 39
2.3.1矩阵元素的存储次序 39
2.3.2矩阵元素的表示及相关操作 40
2.3.3矩阵的创建 43
2.3.4矩阵的代数运算 50
2.4字符串运算 56
2.4.1字符串变量与一维字符数组 56
2.4.2对字符串的多项操作 57
2.4.3二维字符数组 59
2.5小结 60
第3章 数组及其操作 61
3.1 MATLAB中的数组 61
3.2数组的创建 61
3.2.1创建空数组 61
3.2.2创建一维数组 62
3.2.3创建二维数组 63
3.2.4创建三维数组 64
3.2.5创建低维标准数组 67
3.2.6创建高维标准数组 69
3.3数组的属性 70
3.3.1数组结构 70
3.3.2数组大小 70
3.3.3数组维度 71
3.3.4数组数据类型 72
3.3.5数组内存的占用 73
3.4创建特殊数组 73
3.4.1 0-1数组 73
3.4.2对角数组 74
3.4.3随机数组 75
3.4.4魔方数组 76
3.5数组操作 76
3.5.1数组的保存和加载 76
3.5.2数组的索引和寻址 77
3.5.3数组的扩展和裁剪 79
3.5.4数组形状的改变 85
3.5.5数组运算 88
3.5.6数组的查找 91
3.5.7数组的排序 92
3.5.8高维数组的降维操作 93
3.6多维数组及其操作 94
3.6.1多维数组的属性 94
3.6.2多维数组的操作 95
3.7小结 98
第4章 数值计算 99
4.1矩阵分析 99
4.1.1使用norm函数进行范数分析 99
4.1.2使用normest函数进行范数分析 101
4.1.3条件数分析 102
4.1.4数值矩阵的行列式 103
4.1.5符号矩阵的行列式 104
4.1.6矩阵的化零矩阵 105
4.2线性方程组求解 106
4.2.1直接法 106
4.2.2迭代法 108
4.3矩阵分解 111
4.3.1 Cholesky分解 111
4.3.2使用Cholesky分解求解线性方程组 112
4.3.3不完全Cholesky分解 113
4.3.4 LU分解 114
4.3.5不完全RU分解 115
4.3.6 QR分解 116
4.3.7操作QR分解结果 118
4.3.8奇异值分解 118
4.4特征值分析 119
4.4.1特征值和特征向量 119
4.4.2稀疏矩阵的特征值和特征向量 121
4.4.3特征值问题的条件数 121
4.4.4特征值的复数问题 123
4.5函数的零点 124
4.5.1一元函数的零点 124
4.5.2多元函数的零点 126
4.6数值积分 127
4.6.1一元函数的数值积分 127
4.6.2矩形区域的多重数值积分 129
4.6.3变量区域的多重数值积分 129
4.7概率论与数理统计 133
4.7.1双变量的概率分布 133
4.7.2不同概率分布 134
4.7.3数据分布分析 136
4.8小结 137
第5章 数据分析 138
5.1插值 138
5.1.1一维插值命令及实例 138
5.1.2二维插值命令及实例 141
5.1.3样条插值 143
5.2曲线拟合 144
5.2.1多项式拟合 144
5.2.2加权最小方差拟合原理及实例 146
5.3曲线拟合图形界面 148
5.3.1曲线拟合 148
5.3.2绘制拟合残差图形 150
5.3.3进行数据预测 151
5.4傅里叶分析 152
5.4.1 DFT 152
5.4.2 FFT和DFT的对比 154
5.5微分方程 156
5.5.1常微分方程的数值解 156
5.5.2偏微分方程的数值解 160
5.6小结 164
第6章 符号运算 165
6.1符号运算的基本概念 165
6.1.1符号对象 165
6.1.2创建符号对象与函数命令sym()、syms()与class() 166
6.1.3符号常量 167
6.1.4符号变量 167
6.1.5符号表达式、符号函数与符号方程 168
6.1.6函数命令findsym() 169
6.1.7数组、矩阵与符号矩阵 170
6.2符号运算的基本内容 172
6.2.1符号变量代换及其函数subs() 172
6.2.2符号对象转换为数值对象的函数 173
6.2.3符号表达式的化简 175
6.2.4符号运算的其他函数 179
6.2.5两种特定的符号运算函数 180
6.3符号微积分运算及应用 182
6.3.1 MATLAB符号极限运算 182
6.3.2符号函数微分运算 185
6.3.3符号函数积分运算 186
6.4符号矩阵运算 187
6.4.1符号矩阵的建立与访问 187
6.4.2符号矩阵的基本运算 190
6.4.3符号矩阵的化简 195
6.4.4符号矩阵的微分与积分 198
6.4.5符号矩阵的Laplace变换 199
6.5 MATLAB符号方程求解 200
6.5.1符号代数方程求解 200
6.5.2符号微分方程求解 202
6.6 MATLAB符号函数图形计算器FUNTOOL 204
6.6.1符号函数图形计算器的界面 205
6.6.2符号函数图形计算器的输入框操作 205
6.6.3符号函数图形计算器的按钮操作 206
6.7小结 207
第7章 关系运算与逻辑运算 208
7.1逻辑类型的数据 208
7.2关系运算 209
7.3逻辑运算 210
7.3.1逐个元素的逻辑运算 210
7.3.2捷径逻辑运算 211
7.3.3按位逻辑运算 212
7.4逻辑函数与测试函数 212
7.5运算优先级 213
7.6小结 214
第8章 函数 215
8.1 M文件 215
8.1.1 M文件概述 215
8.1.2局部变量与全局变量 216
8.1.3 M文件的编辑与运行 216
8.1.4脚本文件 218
8.1.5函数文件 219
8.1.6函数调用 220
8.1.7 M文件调试工具 223
8.1.8 M文件分析工具 226
8.2 MATLAB的变量 228
8.2.1 M文件的变量类型 228
8.2.2 M文件的关键字 229
8.3函数类型 230
8.3.1匿名函数 230
8.3.2 M文件主函数 231
8.3.3嵌套函数 231
8.3.4子函数 232
8.3.5私有函数 232
8.3.6重载函数 232
8.4参数传递 233
8.4.1 MATLAB参数传递概述 233
8.4.2输入和输出参数的数目 233
8.4.3可变数目的参数传递 234
8.4.4返回被修改的输入参数 235
8.4.5全局变量 236
8.5小结 237
第9章 MATLAB程序设计 238
9.1 MATLAB程序结构 238
9.1.1 if分支结构 238
9.1.2 switch分支结构 240
9.1.3 while循环结构 241
9.1.4 for循环结构 242
9.2 MATLAB控制语句 244
9.2.1 continue命令 244
9.2.2 break命令 245
9.2.3 return命令 245
9.2.4 input命令 246
9.2.5 keyboard命令 246
9.2.6 error和warning命令 247
9.3数据的输入和输出 248
9.3.1键盘输入语句(input) 248
9.3.2屏幕输出语句(disp) 248
9.3.3 M数据文件的存储/加载(save/load) 248
9.3.4格式化文本文件的存储/读取(fprintf/fscanf) 249
9.3.5二进制数据文件的存储/读取(fwrite/fread) 249
9.3.6数据文件行的存储/读取(fgetl/fgets) 249
9.4 MATLAB文件操作 250
9.5面向对象编程 252
9.5.1面向对象程序设计的基本方法 252
9.5.2面向对象的程序设计实例 254
9.6 MATLAB程序优化 256
9.6.1效率优化 257
9.6.2内存优化 257
9.6.3编程注意事项 263
9.6.4几个常用数学方法的算法程序 264
9.7程序调试 273
9.7.1程序调试命令 273
9.7.2程序剖析 274
9.8小结 277
第10章 MATLAB数据图形可视化 278
10.1 MATLAB图形窗口 278
10.1.1创建图形窗口 278
10.1.2关闭与清除图形窗口 279
10.2二维图形的绘制 279
10.2.1绘制二维曲线 279
10.2.2绘制离散序列图 281
10.2.3其他类型的二维图 282
10.2.4二维图形的修饰 284
10.2.5子图 286
10.3三维图形的绘制 288
10.3.1三维折线及曲线的基本绘图命令 288
10.3.2绘制三维曲面 289
10.3.3三维图形的视角变换 292
10.3.4其他图形函数 295
10.4图像 297
10.4.1图像的类别和显示 297
10.4.2图像的读写 299
10.5函数绘图 300
10.5.1一元函数绘图 300
10.5.2二元函数绘图 301
10.6图形对象及其属性设置 303
10.6.1 MATLAB的图形对象 303
10.6.2句柄-图形对象的标识 304
10.6.3图形对象属性的获取与设定 305
10.6.4图形对象常用属性 306
10.6.5图形可视编辑工具 308
10.7小结 309
第11章 图形的打印和导出 310
11.1图形打印和导出概述 310
11.2图形打印 310
11.2.1使用菜单打印图形 310
11.2.2图形打印命令 313
11.2.3打印设置 313
11.3图形导出 316
11.3.1使用菜单导出图形 316
11.3.2图形导出命令 316
11.3.3导出设置 317
11.4小结 319
第12章 句柄图形对象 320
12.1句柄图形对象概述 320
12.2 get和set函数 322
12.2.1 get函数 322
12.2.2 set函数 322
12.3查找对象 325
12.4图形窗口对象 328
12.5核心图形对象 329
12.6默认属性 330
12.7非文件式属性 332
12.8小结 333
第13 章GUI 334
13.1 GUI概述 334
13.2使用M文件创建GUI对象 335
13.3使用GUIDE创建GUI对象 340
13.3.1启动GUIDE 340
13.3.2添加控件 342
13.3.3设置控件的属性 346
13.3.4编写相应的程序代码 351
13.3.5使用GUIDE创建GUI的注意事项 357
13.4定制标准菜单 360
13.5编写回调函数 362
13.6创建现场菜单 362
13.6.1编写GUI的程序代码 363
13.6.2演示GUI对象 366
13.7创建GUI对象的用户控件 367
13.7.1控件区域框 367
13.7.2静态文本框、滑动键、检录框示例 368
13.7.3可编辑框、弹出框、列表框、按键示例 371
13.8小结 373
第14章 Simulink仿真系统 374
14.1 Simulink的基础知识 374
14.1.1 Simulink概述 374
14.1.2 Simulink特点 375
14.1.3 Simulink工作环境 375
14.1.4 Simulink仿真基本步骤 378
14.2模型的创建 379
14.2.1模型概念和文件操作 379
14.2.2模块操作 380
14.2.3信号线操作 382
14.2.4对模型的注释 384
14.2.5常用的Source信源 385
14.2.6常用的Sink信宿 391
14.2.7仿真参数的设置 396
14.2.8启动仿真 400
14.3 Simulink系统仿真原理 401
14.3.1 Simulink求解器概念 402
14.3.2系统过零的概念与解决方案 403
14.3.3系统代数环的概念与解决方案 407
14.4高级积分器 408
14.5小结 411
第15章 信号处理工具箱 412
15.1产生信号 412
15.1.1锯齿波、三角波和矩形波发生器 413
15.1.2周期sinc波 414
15.1.3高斯调幅正弦波 415
15.1.4调频信号 416
15.1.5高斯分布随机序列 417
15.2随机信号处理 418
15.2.1随机信号的互相关函数 418
15.2.2随机信号的互协方差函数 420
15.2.3谱分析——psd函数 421
15.2.4谱分析——pwelch函数 422
15.3模拟滤波器设计 424
15.3.1巴特沃斯滤波器 424
15.3.2切比雪夫Ⅰ型滤波器 425
15.3.3切比雪夫Ⅱ型滤波器 426
15.4 IIR数字滤波器设计 427
15.4.1巴特沃斯数字滤波器设计 427
15.4.2切比雪夫Ⅰ型数字滤波器设计 428
15.4.3切比雪夫Ⅱ型数字滤波器设计 430
15.5小结 431
第16章 神经网络工具箱 432
16.1神经网络工具箱简介 432
16.1.1神经元模型 433
16.1.2神经网络结构 434
16.1.3 MATLAB神经网络工具箱的使用 435
16.2感知器 441
16.2.1感知器的网络结构 442
16.2.2感知器的图形解释 442
16.2.3感知器设计实例 444
16.3 BP神经网络 446
16.3.1 BP神经网络介绍 446
16.3.2 MATLAB中BP神经网络的重要函数和基本功能 448
16.3.3 BP神经网络设计实例 448
16.4径向基网络 449
16.4.1径向基网络结构 449
16.4.2径向基网络传递函数 451
16.4.3径向基网络的创建与学习过程 451
16.4.4径向基网络设计实例 452
16.5自组织竞争神经网络 453
16.5.1网络结构 454
16.5.2竞争学习规则 456
16.5.3竞争网络的训练过程 456
16.5.4自组织竞争神经网络实例 457
16.6小结 458
第17章 小波分析工具箱 459
17.1傅里叶变换到小波分析 459
17.1.1傅里叶变换 459
17.1.2小波分析 462
17.1.3常用小波函数介绍 463
17.2 Mallat算法 464
17.2.1 Mallat算法原理 464
17.2.2 Mallat算法示例 467
17.3小波GUI简介 470
17.4小波分析用例 472
17.4.1信号压缩 472
17.4.2信号去噪 473
17.5小结 476
第18章 图像处理工具箱 477
18.1图像处理工具箱所支持的图像类型 477
18.1.1真彩色图像 477
18.1.2索引色图像 477
18.1.3灰度图像 478
18.1.4二值图像 479
18.1.5多帧图像 479
18.1.6读写图像数据 480
18.1.7查看图像文件信息 481
18.2显示图像 482
18.2.1默认显示方式 482
18.2.2添加颜色条 483
18.2.3显示多帧图像 483
18.2.4显示动画 484
18.2.5三维材质图像 485
18.3图像的灰度变换 486
18.3.1图像的直方图 486
18.3.2灰度变换 487
18.3.3均衡直方图 488
18.4小结 489
附录 MATLAB基本命令 490
参考文献 494