第 1章 MATLAB概述 1
1.1 MATLAB简介 1
1.1.1 MATLAB的发展 1
1.1.2 MATLAB的优点 2
1.1.3 MATLAB的缺点 3
1.2 MATLAB的安装 3
1.3 MATLAB操作界面介绍 6
1.3.1 命令行窗口 6
1.3.2 命令历史记录窗口 8
1.3.3 工作区窗口 8
1.3.4 当前目录窗口 8
1.4 MATLAB帮助系统 9
1.4.1 帮助窗口 9
1.4.2 帮助命令 10
1.5 本章小结 10
第 2章 MATLAB基础知识 11
2.1 一般运算符和操作符 11
2.1.1 运算符 11
2.1.2 操作符 14
2.2 数据格式显示 15
2.3 关系运算符 16
2.4 逻辑运算和逻辑函数 17
2.4.1 逻辑运算 17
2.4.2 逻辑函数 19
2.5 字符串操作 26
2.5.1 MATLAB中的字符串符号 26
2.5.2 一般通用字符串操作 27
2.5.3 字符串比较操作 29
2.5.4 字符串与数值间的相互转换 33
2.5.5 进制间的转换 34
2.6 数值数据类型 36
2.6.1 整数 36
2.6.2 浮点数 38
2.6.3 整数和浮点数之间的操作函数 38
2.6.4 复数 39
2.7 函数的简明介绍 41
2.8 数组 41
2.8.1 一维数组的创建 42
2.8.2 多维数组的创建 43
2.8.3 数组的运算 45
2.8.4 常用的标准数组 46
2.8.5 低维数组的寻址和搜索 48
2.8.6 低维数组的处理函数 51
2.8.7 高维数组的处理和运算 53
2.9 单元数组和结构体 55
2.9.1 单元数组的创建和操作 55
2.9.2 单元数组处理函数 57
2.9.3 结构体创建 58
2.9.4 结构体处理函数 59
2.10 本章小结 60
第3章 矩阵及其运算 61
3.1 矩阵的表示 61
3.1.1 数值矩阵的生成 61
3.1.2 矩阵的标识 64
3.1.3 矩阵的修改 65
3.1.4 矩阵元素的数据变换 67
3.2 矩阵运算 68
3.2.1 矩阵与常数的四则运算 68
3.2.2 矩阵的转置 69
3.2.3 方阵的行列式 69
3.2.4 矩阵的逆和伪逆 69
3.2.5 矩阵和向量的范数 71
3.2.6 矩阵的秩 71
3.2.7 矩阵的迹 72
3.2.8 矩阵的指数和对数运算 72
3.3 矩阵分解 73
3.3.1 Cholesky分解 73
3.3.2 LU分解 74
3.3.3 QR分解 75
3.3.4 Schur分解 76
3.3.5 奇异值分解 76
3.3.6 特征值分解 77
3.3.7 黑森贝格(Hessenberg)分解 78
3.4 方程组求解 79
3.4.1 线性方程组的求解 79
3.4.2 非线性方程组的求解 83
3.4.3 非齐次线性方程组的通解 84
3.5 矩阵秩与线性相关性 85
3.5.1 矩阵和向量组的秩与线性相关性 85
3.5.2 求行阶梯矩阵和向量组的基 85
3.6 稀疏矩阵 86
3.6.1 稀疏矩阵的生成 86
3.6.2 稀疏矩阵的应用 88
3.6.3 稀疏矩阵与满矩阵的相互转换 89
3.7 本章小结 91
第4章 符号及其运算 92
4.1 字符型、符号型数据变量 92
4.1.1 字符型数据变量的创建 92
4.1.2 符号型数据变量的创建 93
4.1.3 符号变量的基本操作 93
4.2 符号表达式与符号方程 96
4.2.1 符号表达式的创建 96
4.2.2 符号方程的创建 97
4.2.3 符号表达式的操作 97
4.3 符号矩阵的创建等 101
4.3.1 用sym()函数直接创建符号矩阵 101
4.3.2 由数值矩阵转换为符号矩阵 102
4.3.3 利用矩阵元素的通式创建符号矩阵 102
4.3.4 符号矩阵和符号数组的运算 103
4.4 符号微积分 107
4.4.1 符号极限 107
4.4.2 符号微分和求导 108
4.4.3 符号积分 109
4.5 符号积分变换 110
4.5.1 傅里叶变换及其逆变换 110
4.5.2 拉普拉斯变换及其逆变换 111
4.5.3 Z变换及其逆变换 112
4.6 符号代数方程求解 113
4.7 符号微分方程求解 114
4.8 图示化符号函数计算器 115
4.8.1 单变量符号函数计算器 115
4.8.2 泰勒级数逼近计算器 118
4.9 本章小结 118
第5章 微分和积分 119
5.1 极限与导数 119
5.1.1 极限 119
5.1.2 导数 119
5.2 积分 122
5.2.1 一元函数的积分 122
5.2.2 二元函数和三元函数的数值积分 125
5.3 化简、提取与替换代入 127
5.3.1 化简 127
5.3.2 提取和替换代入 131
5.4 级数求和 133
5.4.1 symsum(s) 133
5.4.2 symsum(s,v) 133
5.4.3 symsum(s,v,a,b) 134
5.5 泰勒、傅里叶级数展开 134
5.5.1 一元函数泰勒展开 134
5.5.2 多元函数的完全泰勒展开 136
5.5.3 傅里叶级数展开 137
5.6 多重积分 137
5.6.1 二重积分 137
5.6.2 三重积分 138
5.7 本章小结 139
第6章 多元函数和常微分方程 140
6.1 多元函数的极限、微分及极值 140
6.1.1 多元函数的极限 140
6.1.2 多元函数求导 141
6.1.3 多元函数局部极值 142
6.1.4 条件极值 143
6.1.5 显式复合函数微分求导 145
6.2 重积分 146
6.3 曲线积分与曲面积分 147
6.3.1 定义域无向的积分 147
6.3.2 对坐标的曲面积分 148
6.4 常微分方程和偏微分方程的求解 149
6.4.1 常微分方程的数值求解 149
6.4.2 偏微分方程的数值求解 152
6.5 本章小结 155
第7章 概率与统计 156
7.1 概率密度函数 156
7.1.1 连续分布密度函数 156
7.1.2 离散分布密度函数 158
7.1.3 抽样分布密度函数 161
7.2 概率分布 162
7.2.1 随机变量的累加分布函数 162
7.2.2 随机变量的逆累加分布函数 164
7.2.3 随机数的产生 165
7.2.4 参数估计 166
7.3 样本描述 169
7.3.1 描述集中程度的统计量 170
7.3.2 描述离散程度的统计量 172
7.3.3 自助统计量 174
7.3.4 中心矩 175
7.3.5 相关系数 175
7.3.6 协方差矩阵 176
7.4 假设检验 176
7.4.1 单个样本的t检验 176
7.4.2 两个样本的t检验 177
7.4.3 Z检验 178
7.5 多元统计分析 179
7.5.1 判别分析 179
7.5.2 聚类分析 180
7.5.3 因素分析 184
7.5.4 多元方差分析 185
7.6 回归分析 186
7.6.1 一元回归分析 186
7.6.2 多元回归分析 188
7.7 本章小结 192
第8章 拟合和插值 193
8.1 数据预处理 193
8.1.1 输入数据集合 193
8.1.2 数据的查看 195
8.1.3 数据的预处理 196
8.2 曲线拟合 197
8.2.1 有关函数介绍 198
8.2.2 曲线的参数拟合 199
8.2.3 非参数拟合 200
8.2.4 基本拟合界面 201
8.2.5 多项式曲线拟合 204
8.3 数值插值 205
8.3.1 一维数值插值 205
8.3.2 二维数值插值 207
8.3.3 三维数值插值 208
8.3.4 样条插值 209
8.4 本章小结 210
第9章 优化问题 211
9.1 优化工具箱 211
9.1.1 优化工具箱的简介 211
9.1.2 优化工具箱中的函数 211
9.1.3 options()函数 212
9.2 无约束最优化问题 213
9.2.1 单变量最优化 213
9.2.2 无约束非线性规划问题 215
9.3 有约束最优化问题 221
9.3.1 线性规划问题 221
9.3.2 有约束非线性最优化问题 222
9.4 二次规划 223
9.5 多目标规划 224
9.6 最小二乘最优化问题 226
9.6.1 非线性数据(曲线)拟合 227
9.6.2 非负线性最小二乘问题 228
9.6.3 有约束线性最小二乘问题 228
9.6.4 非线性最小二乘问题 230
9.7 非线性方程(组)求解 231
9.7.1 非线性方程的解 231
9.7.2 非线性方程组的解 231
9.8 本章小结 233
第 10章 图形绘制 234
10.1 基本绘图命令 234
10.1.1 图形窗口简介 234
10.1.2 基本绘图操作 237
10.1.3 图形注释 238
10.1.4 特殊函数 240
10.2 二维绘图 242
10.2.1 二维绘图命令 242
10.2.2 交互式绘图操作 243
10.3 三维绘图 245
10.3.1 三维绘图函数 245
10.3.2 三维绘图改进函数 246
10.3.3 三维图形的可视效果控制 247
10.3.4 三维图形的光照控制 248
10.3.5 柱面和球面的表达 249
10.4 本章小结 250
第 11章 高级图形处理 251
11.1 图形对象 251
11.1.1 通用函数 251
11.1.2 根对象 253
11.1.3 轴对象 253
11.1.4 用户控制对象 254
11.1.5 用户菜单对象 256
11.2 图形的高级控制 258
11.2.1 视点控制和图形的旋转 258
11.2.2 颜色的使用 260
11.2.3 光照控制 264
11.3 本章小结 266
第 12章 MATLAB编程基础 267
12.1 M文件和P文件 267
12.1.1 M函数文件 267
12.1.2 M脚本文件 268
12.1.3 M文件的规则和属性 269
12.1.4 P文件及其操作 270
12.2 M文件编辑器 270
12.2.1 运行M文件编辑器 270
12.2.2 设置M文件编辑器的属性 271
12.3 MATLAB编程的构件 271
12.3.1 变量 271
12.3.2 变量的检测和传递 273
12.3.3 运算关系和运算符号 274
12.3.4 常见函数 277
12.3.5 其他构件 278
12.4 数据流结构 278
12.4.1 顺序结构 279
12.4.2 if和switch选择结构 279
12.4.3 for和while循环结构 281
12.4.4 try…catch容错结构 283
12.4.5 其他数据流结构 284
12.5 控制函数 285
12.5.1 continue()和break()函数 285
12.5.2 return()和pause()函数 286
12.5.3 input()和keyboard()函数 287
12.5.4 error()和warning()函数 288
12.6 本章小结 288
第 13章 MATLAB高级编程 289
13.1 MATLAB函数 289
13.1.1 主函数 289
13.1.2 子函数 290
13.1.3 嵌套函数 290
13.2 字符串操作 291
13.2.1 eval()函数 291
13.2.2 feval()函数 292
13.2.3 inline()函数 293
13.3 变量传递和交换 294
13.3.1 输入和输出变量检测函数 295
13.3.2 “可变长度”输入和输出变量 296
13.3.3 全局变量、局部变量及永久 变量 297
13.3.4 跨空间计算和赋值 298
13.4 M文件的调试和剖析 299
13.4.1 直接调试法 300
13.4.2 工具调试法 300
13.4.3 应用实例 304
13.5 本章小结 306
第 14章 MATLAB句柄图形系统 307
14.1 句柄图形基础 307
14.1.1 图形对象概述 307
14.1.2 图形对象句柄 309
14.1.3 图形对象属性 310
14.2 图形对象的创建 312
14.2.1 创建图形窗口对象 313
14.2.2 创建坐标轴对象 314
14.2.3 创建曲线对象 315
14.2.4 创建文字对象 316
14.2.5 创建曲面对象 317
14.2.6 核心图形对象 318
14.3 句柄图形对象的基本操作 320
14.3.1 设置、查询图形对象属性 320
14.3.2 设置对象的默认属性操作 321
14.3.3 高级绘图对象操作 323
14.4 本章小结 324
第 15章 GUI设计 325
15.1 GUI设计过程 325
15.1.1 设计的一般步骤和原则 325
15.1.2 GUI设计的基本方式 326
15.2 使用GUIDE创建GUI 326
15.2.1 GUIDE概述 327
15.2.2 启动GUIDE 327
15.2.3 GUI设计窗口简介 328
15.2.4 使用GUIDE创建GUI的步骤 331
15.2.5 使用GUIDE创建GUI的实例 331
15.3 用M文件创建GUI 333
15.4 本章小结 336
第 16章 GUI高级图形设计 337
16.1 GUIDE常用工具 337
16.1.1 排列工具 337
16.1.2 对象属性查看器 337
16.1.3 图形窗口的属性 339
16.1.4 图形对象的属性 340
16.2 菜单和对话框 341
16.2.1 图形对象句柄函数 341
16.2.2 菜单 341
16.2.3 对话框 343
16.2.4 GUI组态 345
16.2.5 GUI设计 346
16.3 编程设计GUI 347
16.3.1 M文件和GUI数据管理 347
16.3.2 回调函数的使用方法 349
16.3.3 图形窗口的行为控制 351
16.4 GUI设计实例 352
16.4.1 图形界面的实现 352
16.4.2 行为控制的实现 352
16.5 本章小结 358
第 17章 GUI用户控件操作 359
17.1 用户控件的概述 359
17.1.1 用户控件种类 359
17.1.2 用户控件属性 363
17.1.3 回调函数 366
17.2 综合应用实例等 367
17.2.1 双位按钮、“无线电”选择按钮、 控件区域框实例 367
17.2.2 静态文本框、滑标、检查框 实例 368
17.2.3 可编辑文本框、弹出框、列表框、 按钮实例 369
17.2.4 M基础文件 370
17.2.5 编写界面开启程序 374
17.2.6 GUI程序设计 377
17.2.7 回调函数 377
17.2.8 设计实例 379
17.3 本章小结 382
第 18章 Simulink基础概述 383
18.1 Simulink的基础操作 383
18.1.1 Simulink概述 383
18.1.2 Simulink启动方式 384
18.2 Simulink仿真系统步骤 384
18.2.1 启动添加Simulink模块 384
18.2.2 建立模型设置模块属性 385
18.2.3 模块连接 385
18.2.4 运行系统输出结果 386
18.3 Simulink的模块库 386
18.3.1 Simulink的公共模块库 386
18.3.2 Simulink的专业模块库 393
18.4 Simulink模块的基本操作 398
18.4.1 Simulink模型的工作原理 398
18.4.2 模块的选定和复制 399
18.4.3 模块大小的改变与旋转 399
18.4.4 模块颜色的改变与名称的改变 400
18.4.5 模块参数设置 401
18.4.6 连线分支与连线改变 401
18.4.7 信号的组合与分解 402
18.5 模型注释 402
18.6 设置Simulink仿真系统界面 403
18.6.1 模块框图属性编辑 403
18.6.2 信号标签与标签传递 404
18.7 仿真运行过程 405
18.7.1 运行仿真 405
18.7.2 仿真参数设置 406
18.7.3 示波器的使用 409
18.8 本章小结 410
第 19章 Simulink建模与仿真 411
19.1 Simulink连续系统建模 411
19.1.1 线性系统建模 411
19.1.2 非线性系统建模 415
19.2 子系统 416
19.2.1 通用子系统创建的常见方法 416
19.2.2 子系统的基本操作 417
19.3 子系统的封装技术 418
19.3.1 子系统封装的方法 418
19.3.2 设置封装编辑器的图标编辑 选项卡 421
19.3.3 设置封装编辑器的参数初始化 选项卡 422
19.3.4 设置封装编辑器的文档编辑 选项卡 424
19.4 条件执行子系统 424
19.4.1 条件执行子系统概述 425
19.4.2 条件执行子系统的建立 425
19.5 使能子系统 426
19.5.1 使能子系统的参数设置 426
19.5.2 使能子系统的应用实例 427
19.6 触发子系统 427
19.6.1 触发子系统的种类 427
19.6.2 触发子系统的应用实例 428
19.7 原子子系统 430
19.7.1 原子子系统介绍 430
19.7.2 原子子系统的建立 430
19.8 其他子系统 431
19.9 本章小结 433
第 20章 S函数和仿真系统建模 434
20.1 S函数概述 434
20.1.1 S函数的基础概念 434
20.1.2 S函数的使用步骤 435
20.1.3 S函数相关概念 435
20.2 编写S函数 436
20.2.1 S函数工作流程 436
20.2.2 S函数模板的使用 437
20.2.3 S函数程序代码 438
20.3 编写C MEX S函数 445
20.3.1 MEX文件 445
20.3.2 Simstruct数据结构 445
20.3.3 工作向量 446
20.3.4 S函数流程 446
20.3.5 S函数模板 447
20.3.6 S函数包装 453
20.4 本章小结 453
第 21章 文件I/O 454
21.1 低级文件I/O介绍 454
21.2 文件打开和关闭 455
21.2.1 打开文件 455
21.2.2 关闭文件 456
21.3 数据的读写 457
21.3.1 读取TXT文件 457
21.3.2 写入二进制文件 465
21.4 文件的定位和文件的状态 466
21.5 高级文件I/O介绍 470
21.5.1 MAT文件操作 470
21.5.2 图像、声音、影片格式文件的 操作 473
21.6 本章小结 474
第 22章 应用程序接口 475
22.1 C语言MEX文件 475
22.1.1 MEX文件的结构 477
22.1.2 创建C语言的MEX文件 478
22.2 MAT文件 479
22.2.1 创建C语言的MAT文件 480
22.2.2 创建Fortran语言的MAT文件 482
22.3 Java接口 483
22.3.1 MATLAB中的Java接口 484
22.3.2 Java接口程序应用 488
22.4 本章小结 492
第 23章 MATLAB工具箱 493
23.1 MATLAB工具箱概述 493
23.1.1 工具箱类型 493
23.1.2 MATLAB常用工具箱介绍 494
23.1.3 工具箱和工具箱函数的查询 办法 503
23.1.4 工具箱的扩充 509
23.1.5 工具箱的添加 510
23.2 MATLAB主工具箱 512
23.3 本章小结 513
第 24章 信号处理工具箱 514
24.1 信号、系统及信号处理的基本概念 514
24.1.1 信号 514
24.1.2 系统 514
24.1.3 信号处理 515
24.2 基本信号的表示和可视化 515
24.2.1 正弦波 515
24.2.2 方波 515
24.2.3 锯齿波和三角波 515
24.2.4 指数信号 516
24.2.5 阶跃信号 517
24.2.6 单位脉冲信号 517
24.3 连续信号的时域运算与时域变换 518
24.3.1 相加、相乘运算 518
24.3.2 信号的翻褶、移位、尺度变换 519
24.3.3 卷积运算 520
24.4 线性系统的时域分析 520
24.4.1 脉冲响应 521
24.4.2 阶跃响应 522
24.4.3 对任意输入的响应 523
24.5 连续时间信号的频域分析 523
24.6 连续系统的复频域分析 524
24.6.1 系统函数H (s)定义 524
24.6.2 系统零极点分布与系统稳定性 关系 526
24.7 信号采样与重构 526
24.7.1 信号的采样 526
24.7.2 信号的重构 527
24.8 本章小结 528
第 25章 图像处理工具箱 529
25.1 图像处理工具箱概述 529
25.1.1 图像处理工具函数 530
25.1.2 MATLAB可操作的图像文件 534
25.1.3 图像和图像数据 534
25.1.4 图像处理工具箱所支持的图像 类型 535
25.1.5 图像文件的读写和查询 535
25.1.6 MATLAB图像类型转换 536
25.2 图像处理 538
25.2.1 图像的灰度变换与直方图 538
25.2.2 图像的增强滤波 541
25.2.3 图像的空间变换 542
25.2.4 图像边缘检测与分割 545
25.3 本章小结 548