入门篇 2
第1章 MATLAB概览 2
1.1 MATLAB发展历程 2
1.2 MATLAB系统结构 3
1.3 MATLAB工具箱 3
1.4 MATLAB启动和退出 4
1.5 MATLAB基本特色 5
1.5.1 常量与变量 5
1.5.2 MATLAB基本运算 7
1.5.3 MATLAB基本函数 8
1.5.4 向量 9
1.6 小结 10
第2章 MATLAB桌面 11
2.1 MATLAB主菜单及功能 11
2.2 MATLAB命令窗口 15
2.3 MATLAB工作空间 17
2.4 M文件编辑/调试器 19
2.5 图形窗口 21
2.6 MATLAB文件管理 22
2.7 MATLAB帮助使用 22
2.7.1 直接使用help获得指令使用说明 23
2.7.2 直接使用help进行分类搜索 23
2.7.3 直接使用help获得具体子类指令说明 23
2.7.4 使用lookfor指令 24
2.8 小结 24
第3章 数组及其操作 25
3.1 MATLAB中的数组 25
3.2 数组的创建 25
3.2.1 创建空数组 25
3.2.2 创建一维数组 26
3.2.3 创建二维数组 27
3.3 数组属性 28
3.3.1 数组结构 28
3.3.2 数组大小 28
3.3.3 数组维度 29
3.3.4 数组数据类型 30
3.3.5 数组的内存占用 31
3.4 创建特殊数组 31
3.4.1 0-1数组 31
3.4.2 对角数组 32
3.4.3 随机数组 33
3.4.4 魔方数组 34
3.5 数组操作 34
3.5.1 数组的保存和装载 34
3.5.2 数组索引和寻址 35
3.5.3 数组的扩展和裁剪 37
3.5.4 数组形状的改变 44
3.5.5 数组运算 47
3.5.6 数组查找 51
3.5.7 数组排序 52
3.6 小结 53
第4章 多维数组及其操作 54
4.1 多维数组 54
4.1.1 多维数组的创建 54
4.1.2 多维数组的属性 56
4.2 多维数组的操作 57
4.2.1 多维数组的索引 57
4.2.2 多维数组的维度操作 58
4.2.3 多维数组参与数学计算 59
4.3 小结 60
第5章 数据类型概述和数值类型 61
5.1 MATLAB数据类型概述 61
5.2 MATLAB中的数值类型 62
5.2.1 整数类型 62
5.2.2 浮点数类型 64
5.2.3 复数 66
5.2.4 无穷量(Inf)和非数值量(NaN) 67
5.3 数值类型的显示格式 68
5.4 MATLAB中确定数值类型的函数 69
5.5 小结 69
第6章 结构体和元胞数组 70
6.1 结构体 70
6.1.1 结构体的创建 70
6.1.2 获取结构体内部数据 73
6.1.3 结构体数组操作函数 74
6.1.4 结构体嵌套 75
6.1.5 动态字段 76
6.1.6 结构体函数 77
6.2 元胞数组 78
6.2.1 元胞数组的创建 78
6.2.2 元胞数组的显示 79
6.2.3 元胞数组的操作 80
6.2.4 嵌套元胞数组 82
6.2.5 元胞数组函数 83
6.3 小结 84
第7章 字符串 85
7.1 创建字符串 85
7.1.1 单行字符串的创建 85
7.1.2 多行字符串的创建 86
7.2 字符串操作 87
7.2.1 字符串比较 87
7.2.2 字符串的替换和查找 88
7.2.3 其他操作 89
7.3 字符串的元胞数组 91
7.4 使用正则表达式搜索 94
7.5 字符数组和数值数组间的相互转换 95
7.6 小结 96
第8章 关系运算和逻辑运算 97
8.1 逻辑类型的数据 97
8.2 关系运算 98
8.3 逻辑运算 99
8.3.1 逐个元素的逻辑运算 99
8.3.2 捷径逻辑运算 100
8.3.3 逐位逻辑运算 101
8.4 逻辑函数和测试函数 102
8.5 运算优先级 104
8.6 小结 104
第9章 程序控制流 105
9.1 分支控制语句 105
9.1.1 if、else和elseif 105
9.1.2 switch、case和otherwise 106
9.2 循环控制语句 108
9.2.1 for循环 108
9.2.2 while循环 109
9.2.3 continue语句 110
9.2.4 break语句 110
9.2.5 数组结构和循环的效率比较 111
9.3 错误控制的try-catch结构 112
9.4 程序终止的return语句 113
9.5 小结 113
第10章 函数 114
10.1 M文件和MATLAB编程概述 114
10.1.1 M文件概述 114
10.1.2 MATLAB编程概述 115
10.2 M文件结构和实例 116
10.2.1 M文件的一般结构 116
10.2.2 脚本M文件实例 117
10.2.3 函数M文件 118
10.3 函数类型 120
10.3.1 匿名函数 120
10.3.2 M文件主函数 121
10.3.3 嵌套函数 121
10.3.4 子函数 122
10.3.5 私有函数 123
10.3.6 重载函数 123
10.4 参数传递 123
10.4.1 MATLAB参数传递概述 123
10.4.2 输入和输出参数的数目 124
10.4.3 可变数目的参数传递 125
10.4.4 返回被修改的输入参数 126
10.4.5 全局变量 127
10.5 函数句柄 128
10.5.1 数句柄的创建和调用 128
10.5.2 处理函数句柄的函数 129
10.6 小结 129
第11章 M文件调试和剖析 130
11.1 M文件调试工具 130
11.2 M文件分析工具 132
11.2.1 Code Analyzer分析工具 132
11.2.2 Profiler分析工具 133
11.3 小结 135
第12章 文件夹管理和文件I/O 136
12.1 当前文件夹和文件夹管理 136
12.1.1 当前文件夹工具条 136
12.1.2 当前文件夹面板 137
12.1.3 命令窗口文件夹操作命令 137
12.2 MATLAB搜索路径 138
12.2.1 MATLAB文件运行搜索过程 138
12.2.2 搜索路径设置 139
12.2.3 搜索路径设置命令 139
12.3 文件管理 140
12.3.1 文本数据 140
12.3.2 图形、音频和视频数据 140
12.3.3 电子表格数据 140
12.3.4 科学标准格式数据 141
12.3.5 数据导入向导 141
12.3.6 因特网文件处理 142
12.3.7 低级文件I/O 142
12.4 小结 143
第13章 MATLAB中的时间 144
13.1 日期和时间 144
13.1.1 日期时间的3种表示格式 144
13.1.2 获取当前日期时间的函数 145
13.1.3 日期格式转换 145
13.1.4 datestr转换函数输出样式控制 146
13.2 程序中应用的计时函数 147
13.3 小结 148
计算篇 150
第14章 矩阵代数 150
14.1 矩阵分析 150
14.1.1 矩阵的行列式 150
14.1.2 矩阵的逆 150
14.1.3 矩阵的秩 151
14.1.4 矩阵的范数和条件数 152
14.1.5 矩阵的特征值、特征向量和特征多项式 152
14.1.6 矩阵的标准正交基 153
14.1.7 矩阵分解 154
14.1.8 矩阵的对角元素操作 158
14.1.9 矩阵分析函数总结 159
14.2 线性方程组 159
14.2.1 线性方程组的表示和种类 159
14.2.2 线性方程组的MATLAB求解 160
14.3 特殊矩阵 164
14.4 稀疏矩阵 164
14.4.1 稀疏矩阵的存储方式 164
14.4.2 稀疏矩阵的创建 165
14.4.3 稀疏矩阵函数 165
14.5 小结 167
第15章 数据分析 168
15.1 数据分析概述和数据预处理 168
15.1.1 数据分析概述 168
15.1.2 数据导入 169
15.1.3 遗失数据的处理 169
15.2 基础统计分析 170
15.2.1 命令窗口统计分析 170
15.2.2 MATLAB数据统计工具 171
15.2.3 多组数据的相关分析 172
15.3 用线性回归模型拟合数据 173
15.3.1 命令窗口下的线性回归 174
15.3.2 用基本拟合工具进行回归分析 176
15.4 其他分析方法初步 178
15.4.1 有限差分 178
15.4.2 傅里叶分析初步 179
15.5 MATLAB统计工具箱初步 180
15.5.1 概率密度函数 181
15.5.2 概率分布函数 182
15.5.3 逆概率分布函数 183
15.5.4 随机数产生函数 185
15.6 小结 186
第16章 数据插值 187
16.1 一维插值 187
16.1.1 一维插值函数的使用 187
16.1.2 内插运算和外插运算 189
16.2 二维插值 191
16.3 高维插值 193
16.4 插值函数总结 194
16.5 小结 195
第17章 多项式 196
17.1 多项式基础 196
17.1.1 多项式的表示 196
17.1.2 多项式的根 196
17.1.3 多项式的创建 197
17.1.4 多项式求值 197
17.2 多项式运算 198
17.2.1 多项式乘法 198
17.2.2 多项式除法 199
17.2.3 多项式加法 199
17.2.4 多项式微分 200
17.2.5 多项式的部分分式展开 200
17.3 多项式曲线拟合 201
17.4 多项式函数总结 202
17.5 小结 203
第18章 三次样条 204
18.1 三次样条基础 204
18.2 样条构建 205
18.3 交互式样条工具 206
18.4 次样条插值 206
18.5 小结 209
第19章 傅里叶分析 210
19.1 傅里叶变换 210
19.2 快速傅里叶变换(FFT) 211
19.3 小结 215
第20章 最优化计算 216
20.1 优化工具箱简介 216
20.1.1 优化工具箱的功能 216
20.1.2 优化函数 216
20.2 无约束优化问题 218
20.2.1 一元函数无约束优化 218
20.2.2 多元函数无约束优化 219
20.3 约束优化问题 220
20.4 GUI优化工具 221
20.4.1 GUI优化工具的启动 221
20.4.2 GUI优化工具的界面 222
20.4.3 GUI优化工具使用步骤 223
20.4.4 GUI优化工具应用实例 224
20.5 小结 230
第21章 微积分 231
21.1 微分 231
21.1.1 符号微分 231
21.1.2 数值微分 231
21.2 积分 232
21.2.1 符号积分 232
21.2.2 数值积分的实现方法 232
21.2.3 重积分的实现方法 234
21.3 小结 235
第22章 常微分方程 236
22.1 常微分方程符号解 236
22.2 常微分方程数值解 237
22.3 小结 240
第23章 偏微分方程 241
23.1 PDE工具箱概述 241
23.2 pdetool的主菜单 242
23.3 pdetool的工具栏 247
23.4 pdetool使用实例 247
23.5 小结 251
绘图篇 254
第24章 二维图形 254
24.1 MATLAB图形窗口概述 254
24.2 基本绘图指令 256
24.2.1 基本绘图流程 257
24.2.2 基本绘图函数 258
24.2.3 设置函数曲线格式和标记点格式 260
24.2.4 子图绘制 262
24.2.5 叠加绘图模式 263
24.2.6 设置坐标轴和网格线 264
24.2.7 对数/半对数坐标系绘图 266
24.2.8 双纵轴绘图 266
24.2.9 绘图窗口开关控制函数 267
24.2.10 设置默认绘图格式循环顺序 268
24.2.11 复数绘图 269
24.3 图形标注 270
24.3.1 图形标注概述 270
24.3.2 图形标题 272
24.3.3 坐标轴标签 273
24.3.4 图例和颜色条 274
24.3.5 文本框标注 275
24.3.6 数据点标记 279
24.3.7 箭头和图框标注 280
24.3.8 锚定图形标注对象 281
24.4 特殊绘图 281
24.4.1 柱状图和面积图 281
24.4.2 饼形图 282
24.4.3 直方图 283
24.4.4 离散数据绘图 284
24.4.5 等高线图 285
24.4.6 量图 285
24.4.7 其他特殊绘图指令 287
24.4.8 数绘图 288
24.5 交互式绘图 289
24.5.1 概述 289
24.5.2 图形面板 290
24.5.3 绘图浏览器 292
24.5.4 属性编辑器 293
24.5.5 数据查视工具 294
24.5.6 工作保存 294
24.6 小结 295
第25章 三维图形 296
25.1 创建三维图形 296
25.1.1 三维图形概述 296
25.1.2 三维曲线图 297
25.1.3 三维曲面图 298
25.1.4 特殊三维绘图 303
25.2 创建三维片块模型 307
25.2.1 创建片块模型 307
25.2.2 多个片块模型的创建和颜色设置 309
25.3 三维图形显示控制 311
25.3.1 设置坐标轴 311
25.3.2 设置视角 312
25.3.3 Camera控制 314
25.3.4 其他控制工具 314
25.4 小结 315
第26章 使用颜色和光影 316
26.1 MATLAB中的颜色 316
26.1.1 着色技术 316
26.1.2 RGB真彩着色 316
26.1.3 颜色表 318
26.1.4 索引着色 319
26.1.5 shading模式 321
26.2 光照效果 322
26.2.1 光源对象 322
26.2.2 光照方法 323
26.3 小结 325
第27章 图像、声音和视频 326
27.1 图像 326
27.1.1 图像及其数值类型 326
27.1.2 图像处理函数 327
27.2 声音 332
27.3 视频 332
27.4 小结 333
第28章 图形的打印和导出 334
28.1 图形打印和导出概述 334
28.2 图形打印 334
28.2.1 使用菜单打印图形 334
28.2.2 图形打印命令 335
28.3 图形导出 336
28.3.1 使用菜单导出图形 336
28.3.2 图形导出命令 336
28.3.3 导出设置 336
28.4 小结 339
第29章 句柄图形对象 340
29.1 句柄图形对象概述 340
29.2 get和set函数 341
29.3 根对象 341
29.4 图形窗口对象 342
29.5 核心图形对象 343
29.6 句柄图形对象操作 344
29.7 回调函数 345
29.8 小结 347
第30章 图形用户界面(GUI) 348
30.1 GUI和GUIDE 348
30.1.1 GUI程序概述 348
30.1.2 打开GUIDE开发环境 349
30.2 使用GUIDE创建GUI界面 350
30.2.1 GUIDE界面概述 350
30.2.2 交互组件 351
30.2.3 设计菜单 355
30.2.4 GUI程序的存储 356
30.2.5 对象浏览器 357
30.2.6 GUI程序的运行 357
30.3 回调函数 358
30.3.1 回调函数原型 358
30.3.2 回调函数编程 359
30.4 小结 362
扩展篇 364
第31章 MATLAB类和面向对象编程 364
31.1 MATLAB类概述 364
31.1.1 类的基本概念 364
31.1.2 类的组成 365
31.2 MATLAB类的设计 365
31.2.1 在MATLAB中设计类的基本方法 365
31.2.2 建立类目录 366
31.2.3 类的构造函数方法 366
31.2.4 类的转换方法 367
31.2.5 类的显示方法 368
31.2.6 类的subsref方法 369
31.2.7 类的重载 369
31.2.8 类方法综合使用实例 372
31.3 MATLAB面向对象编程 373
31.3.1 MATLAB面向对象编程的特点 373
31.3.2 MATLAB面向对象编程与其他语言对比 374
31.4 小结 375
第32章 MATLAB与Microsoft Office的接口 376
32.1 MATLAB与Excel的接口Excel link 376
32.1.1 Excel link的工作原理 376
32.1.2 Excel link的使用 377
32.1.3 Excel link应用举例 379
32.2 MATLAB与Word的接口Notebook 380
32.2.1 Notebook的使用 380
32.2.2 在Word中使用Notebook 383
32.3 MATLAB与PowperPoint的接口Notebook 384
32.4 小结 385
第33章 扩展MATLAB和Java 386
33.1 Java概述 386
33.2 在MATLAB中使用Java 387
33.2.1 Java接口 387
33.2.2 在MATLAB中调用Java 388
33.3 创建和使用Java对象 390
33.3.1 创建Java类对象 391
33.3.2 连接Java对象 391
33.3.3 调用Java类对象 392
33.3.4 Java实例 394
33.4 Java与MATLAB混合编程 394
33.5 MATLAB Builder JA 395
33.5.1 Java环境变量 395
33.5.2 在MATLAB中创建Java组件 396
33.6 小结 397
第34章 MATLAB扩展编程 398
34.1 MATLAB混合编程概述 398
34.1.1 混合编程的背景 398
34.1.2 混合编程方式 398
34.2 使用MATLAB引擎 399
34.2.1 MATLAB引擎 399
34.2.2 混合编程实例 403
34.3 使用mcc编译器 406
34.3.1 mcc编译器 406
34.3.2 MATLAB的设置及创建动态链接库 406
34.3.3 混合编程实例 408
34.4 使用COM 411
34.4.1 COM简介 411
34.4.2 COM的设置与创建 411
34.5 小结 412
第35章 Simulink交互式仿真集成环境 413
35.1 Simulink的使用 413
35.1.1 Simulink启动 413
35.1.2 Simulink仿真设置 414
35.1.3 Simulink模块库简介 419
35.1.4 Simulink功能模块的处理 431
35.2 Simulink自定义功能模块 434
35.2.1 采用Subsystem建立自定义功能模块 434
35.2.2 多个模块组合自定义功能模块 434
35.2.3 自定义功能模块的封装 434
35.3 S函数设计与应用 436
35.4 Simulink仿真举例 440
35.5 小结 447
实战篇 450
第36章 MATLAB在高等数学中的应用实例 450
36.1 极限运算 450
36.2 求导数 451
36.2.1 一元函数求导 451
36.2.2 多元函数求导 451
36.2.3 参数方程求导 452
36.2.4 隐函数求导 452
36.2.5 求梯度与方向导数 452
36.3 求积分 453
36.3.1 定积分 453
36.3.2 广义积分 453
36.3.3 重积分 453
36.3.4 不定积分 454
36.4 级数 454
36.4.1 级数展开 454
36.4.2 级数求和 454
36.5 求函数的零点和极值点 454
36.5.1 求函数的零点 454
36.5.2 求函数的极值点 455
36.6 代数方程组求解 455
36.6.1 线性方程组求解 455
36.6.2 非线性方程组求解 461
36.7 常微分方程求解 462
36.7.1 常微分方程的符号解 462
36.7.2 常微分方程组数值解 462
36.8 小结 464
第37章 MATLAB在线性代数中的应用实例 465
37.1 矩阵的基本运算 465
37.2 行列式运算 467
37.3 线性组合和线性相关 467
37.4 最大无关组和基 468
37.5 矩阵求逆 469
37.6 特征值与特征向量 470
37.7 线性方程组 472
37.8 相似矩阵及二次型 474
37.9 小结 476
第38章 MATLAB在概率统计中的应用实例 477
38.1 数字特征计算 477
38.1.1 期望 477
38.1.2 方差、标准差、矩 478
38.1.3 协方差、相关系数 479
38.2 概率计算 481
38.2.1 概率密度计算 481
38.2.2 累积与逆累积分布计算 481
38.2.3 特殊分布的期望和方差计算 482
38.2.4 随机数产生 483
38.3 参数估计 483
38.4 假设检验 484
38.4.1 单个总体N(μ,σ2)均值μ的检验 484
38.4.2 两个正态总体均值差的检验(t检验) 485
38.4.3 基于成对数据的检验(t检验) 486
38.4.4 正态总体方差的假设检验 487
38.5 方差分析 488
38.5.1 单因素试验的方差分析 488
38.5.2 双因素试验的方差分析 489
38.6 回归分析 490
38.6.1 一元多项式回归 490
38.6.2 多元线性回归 491
38.6.3 非线性回归 492
38.6.4 逐步回归 494
38.7 统计绘图 496
38.7.1 box图 496
38.7.2 正态概率图 496
38.7.3 参考线图 497
38.7.4 分位数-分位数图 498
38.7.5 威布尔概率图 498
38.8 小结 499
第39章 MATLAB在复变函数中的应用实例 500
39.1 复数 500
39.1.1 复数的生成 500
39.1.2 复数的运算 501
39.1.3 复数的绘图 502
39.2 留数 502
39.3 泰勒级数展开 503
39.4 傅里叶变换及其逆变换 505
39.5 拉普拉斯变换及其逆变换 506
39.6 Z变换及其逆变换 506
39.7 小结 507
第40章 MATLAB图形绘制实例 508
40.1 二维绘图 508
40.1.1 函数绘图 508
40.1.2 离散数据绘图 510
40.1.3 特殊坐标轴绘图 511
40.2 三维绘图 513
40.2.1 二元函数绘图 513
40.2.2 三维曲线绘图 514
40.2.3 三维曲面绘图 514
40.3 特殊分析用图 515
40.3.1 柱状图 515
40.3.2 直方图 516
40.3.3 饼形图 516
40.3.4 散点图 517
40.3.5 等高线图 517
40.3.6 面积图 518
40.3.7 火柴杆图 518
40.3.8 阶梯图 519
40.3.9 罗盘图 519
40.3.10 羽毛图 520
40.3.11 彗星图 520
40.3.12 误差棒图 521
40.3.13 实心图 521
40.4 工作空间直接绘图 522
40.5 小结 524
参考文献 525