第1章 MATLAB概述 1
1.1 MATLAB发展史 2
1.1.1 MATLAB的由来及演变 2
1.1.2 MATLAB与其他数学软件 2
1.1.3 MATLAB进行科学计算的特点 3
1.1.4 MATLAB 2009a 的新增功能 3
1.2 MATLAB的安装与运行 4
1.3 MATLAB工作环境 6
1.3.1 主界面 6
1.3.2 命令窗口 7
1.3.3 历史命令窗口 8
1.3.4 目录和文件管理 9
1.3.5 工作空间 10
1.3.6 搜索路径管理 11
1.3.7 工作空间数据保存 12
1.4 MATLAB 2009a 帮助系统 12
1.4.1 命令行帮助查询 12
1.4.2 联机演示系统 13
1.5 MATLAB的使用与注释 13
第2章 MATLAB数据类型 15
2.1 数值类型 16
2.1.1 整数 16
2.1.2 浮点数 18
2.1.3 复数 19
2.1.4 整型浮点数间的操作函数 20
2.1.5 实例2-1:复数运算操作 21
2.2 字符串类型 22
2.2.1 创建字符串 22
2.2.2 字符串元素的读取 24
2.2.3 字符串查找与替换 24
2.2.4 字符串比较 26
2.2.5 字符串的基本变换 27
2.2.6 实例2-2:改变字符串的大小写 30
2.3 函数句柄 31
2.4 变量与表达式 31
第3章 MATLAB基本运算 34
3.1 算术运算 35
3.2 关系运算 37
3.3 逻辑运算 38
3.3.1 元素方式逻辑运算符 38
3.3.2 比特方式逻辑运算符 39
3.3.3 短期方式逻辑运算符 39
3.4 运算优先级 40
3.5 MATLAB中常用的数学函数 40
3.5.1 三角函数表 40
3.5.2 指数函数表 42
3.5.3 复数函数表 42
3.5.4 舍入与余数函数表 43
3.5.5 坐标与数理函数表 44
3.5.6 专用与测试函数表 46
3.5.7 通用数据分析函数表 47
3.6 MATLAB中的向量 49
第4章 数值数组及运算 50
4.1 数组的创建 51
4.1.1 创建一维数组 51
4.1.2 创建二维数组 52
4.1.3 创建三维数组 53
4.1.4 常用的标准数组 55
4.2 数组的运算 57
4.2.1 数组与标量的四则运算 57
4.2.2 数组间的四则运算 58
4.2.3 数组的幂运算 58
4.2.4 数组的指数运算、对数运算与开方运算 59
4.3 数组操作 59
4.3.1 数组索引与寻址 59
4.3.2 数组排序 61
第5章 单元数组与结构体 63
5.1 单元数组 64
5.1.1 创建单元数组 64
5.1.2 显示单元数组 65
5.1.3 操作单元数组 66
5.1.4 单元数组函数 68
5.2 结构体 69
5.2.1 创建结构体 69
5.2.2 结构体的操作 70
第6章 矩阵运算 74
6.1 创建矩阵 75
6.1.1 矩阵的构造 75
6.1.2 矩阵的基本运算 76
6.1.3 矩阵重组操作 79
6.1.4 矩阵形变操作 81
6.2 矩阵分析 84
6.2.1 范数分析 84
6.2.2 条件数分析 87
6.2.3 特征值分析 88
6.2.4 矩阵的行列式 93
6.2.5 矩阵的秩与逆阵 93
6.2.6 矩阵的分解 94
6.2.7 矩阵的其他操作 104
6.3 线性方程组 105
6.3.1 恰定方程组 105
6.3.2 欠定方程组 107
6.3.3 超定方程组 108
6.4 特殊矩阵 110
6.5 稀疏矩阵 111
6.5.1 稀疏矩阵的生成 112
6.5.2 稀疏矩阵的操作 113
6.5.3 稀疏矩阵的图形显示 115
第7章 多项式运算与曲线拟合 117
7.1 多项式 118
7.1.1 多项式的表达与创建 118
7.1.2 多项式的四则运算 118
7.1.3 多项式的根 119
7.1.4 多项式求值 119
7.1.5 多项式微分 120
7.1.6 多项式积分 121
7.1.7 多项式部分分式展开 121
7.2 曲线拟合 122
7.2.1 最小二乘法曲线拟合 122
7.2.2 曲线拟合图形用户接口 123
第8章 高级数值分析 124
8.1 函数的零点 125
8.1.1 一元函数的零点 125
8.1.2 多元函数的零点 125
8.2 线性方程组的数值解法 126
8.2.1 直接解法 126
8.2.2 线性方程组求解中的变换 127
8.2.3 迭代解法 128
8.3 非线性方程组的数值解法 132
8.3.1 不动点迭代法 132
8.3.2 Newton迭代法 133
8.3.3 拟Newton法 134
8.4 数据插值 137
8.4.1 一维数据插值 137
8.4.2 二维数据插值 139
8.4.3 三维数据插值 141
8.4.4 Lagrange插值 141
8.4.5 Newton插值 143
8.4.6 三次样条插值 144
8.5 数值积分和数值微分 145
8.5.1 Newton-Cotes求积公式 145
8.5.2 Gauss求积公式 147
8.5.3 Romberg(龙贝格)求积公式 149
8.5.4 多重数值积分 150
8.5.5 数值微分 151
8.6 常微分方程的数值解法 152
8.6.1 Euler方法 152
8.6.2 Runge-Kutta方法 153
8.6.3 线性多步法 156
8.6.4 一阶方程组与高阶方程解法 157
8.7 优化问题 159
8.7.1 单变量最小化 159
8.7.2 线性规划 161
8.7.3 无约束非线性规划 163
8.7.4 二次规划 164
8.7.5 有约束最小化 165
8.7.6 最大值的最小化 166
第9章 概率与数理统计 168
9.1 概率分布 169
9.2 参数估计 171
9.2.1 点估计 171
9.2.2 区间估计 171
9.3 假设检验 174
9.3.1 单个样本的t检验 175
9.3.2 两个样本的t检验 176
9.3.3 Z检验 177
9.4 方差分析 178
9.4.1 单因子方差分析 178
9.4.2 双因子方差分析 181
9.4.3 多因素方差分析 183
9.4.4 方差分析工具 186
9.5 回归分析 187
9.5.1 线性回归 187
9.5.2 岭回归 190
9.5.3 一般线性模型拟合 190
9.5.4 多项式拟合 192
9.5.5 稳健回归 193
9.5.6 响应面分析 195
9.5.7 非线性回归 196
第10章 MATLAB符号运算 199
10.1 符号变量与符号表达式 200
10.1.1 符号对象的创建 200
10.1.2 符号常量 202
10.1.3 符号变量和符号表达式 202
10.1.4 符号矩阵 203
10.2 符号变量的基本操作 203
10.2.1 符号变量的查找 203
10.2.2 符号精度计算 204
10.3 符号表达式的操作 204
10.3.1 符号表达式的运算 204
10.3.2 符号表达式的合并同类项 205
10.3.3 符号表达式的因式分解 206
10.3.4 符号表达式的展开 206
10.3.5 符号表达式的嵌套 206
10.3.6 符号表达式的化简 207
10.3.7 符号表达式的替换 208
10.3.8 符号表达式的分子分母提取 209
10.4 符号函数的操作 210
10.4.1 符号函数的反函数 210
10.4.2 符号函数的复合函数 210
10.5 符号微积分 211
10.5.1 符号级数求和 211
10.5.2 符号函数的极限 212
10.5.3 符号微分 213
10.5.4 符号积分 214
10.6 符号积分变换 215
10.6.1 傅里叶变换及其反变换 215
10.6.2 拉普拉斯变换及其反变换 216
10.6.3 Z变换及其反变换 217
10.7 符号代数方程求解 217
10.8 符号微分方程求解 219
10.9 符号函数绘图 220
10.10 可视化符号分析 221
10.10.1 funtool分析界面 221
10.10.2 taylortool分析界面 222
10.11 综合实例:车辆速度控制系统 222
第11章 二维图形 224
11.1 MATLAB的图形窗口 225
11.2 基本二维图形绘制 225
11.2.1 基本二维绘图函数及用法 225
11.2.2 基本二维图形绘图线型控制 229
11.2.3 基本二维图形线条颜色控制 230
11.2.4 基本二维图形线条宽度控制 230
11.2.5 基本二维图形默认线型设置 231
11.2.6 实例11-1:绘制双向量图 231
11.3 其他二维图形绘制 232
11.3.1 重叠图形的绘制 232
11.3.2 子图的绘制 233
11.3.3 双y轴图形的绘制 233
11.4 二维图形绘图网格与坐标轴设置 234
11.4.1 绘图网格设置 234
11.4.2 绘图坐标轴显示控制 234
11.4.3 坐标轴范围及比例控制 235
11.4.4 实例11-2:同一窗口的分块绘图 238
11.5 二维图形标注 238
11.5.1 坐标轴标注和图形标题 238
11.5.2 图形中的文本标注 239
11.5.3 图例标注 240
11.5.4 双y轴图形标注 240
11.5.5 实例11-3:两条曲线在同一窗口 241
第12章 三维图形 243
12.1 三维图形的绘制 244
12.1.1 三维曲线绘图 244
12.1.2 三维网格图 245
12.1.3 三维曲面图 246
12.1.4 实例12-1:绘制螺旋线三维图 248
12.2 三维图形的编辑 248
12.2.1 视角控制 248
12.2.2 背景颜色设置 250
12.2.3 图形颜色设置 251
12.2.4 数值轴颜色设置 252
12.2.5 图形的着色设置 253
12.2.6 照明控制 254
12.2.7 材质控制 255
12.2.8 透视控制 256
12.2.9 实例12-2:求解温度的等值曲面和等值线图 258
第13章 特殊图形 259
13.1 特殊坐标二维图 260
13.1.1 对数坐标图形 260
13.1.2 极坐标图形 262
13.1.3 柱坐标图形 262
13.2 条形图 263
13.2.1 二维条形图 263
13.2.2 三维条形图 264
13.3 饼图 265
13.3.1 二维饼图 265
13.3.2 三维饼图 266
13.4 等高线图 266
13.4.1 二维等高线图 266
13.4.2 三维等高线图 267
13.5 彗星图 268
13.5.1 二维彗星图 268
13.5.2 三维彗星图 268
13.6 火柴杆图 268
13.6.1 二维火柴杆图 269
13.6.2 三维火柴杆图 269
13.7 矢量图 270
13.7.1 二维失量图 270
13.7.2 三维矢量图 271
13.8 面积图 271
13.9 误差条图 272
13.10 柱状图 273
13.11 球形图 273
13.12 复数变量图 275
13.13 图形窗口 276
13.13.1 创建和控制图形窗口 276
13.13.2 使用工具栏编辑图形 276
13.13.3 使用绘图工具(plot tool)编辑图形 280
13.13.4 使用图形窗口进行数据分析 284
13.14 图形的打印与导出 287
13.14.1 打印设置 287
13.14.2 图形打印的命令操作方式 288
13.14.3 图形的导出设置 289
第14章 句柄图形 290
14.1 句柄图形基础 291
14.1.1 图形对象及属性 291
14.1.2 句柄对象及图形结构 292
14.2 图形句柄的操作 293
14.2.1 创建图形对象 293
14.2.2 创建图形对象实例 294
14.2.3 访问图形对象的句柄 295
14.2.4 访问图形对象句柄实例 296
14.2.5 使用句柄操作图形对象 297
14.3 图形对象的操作 299
14.3.1 set函数 299
14.3.2 使用结构体设置属性 300
14.3.3 查询及设置图形对象的属性 301
14.4 高层绘图命令 301
14.4.1 NexPlot属性 302
14.4.2 NewPlot命令 302
14.5 坐标轴对象 302
14.5.1 坐标轴的几何属性 303
14.5.2 坐标轴的刻度属性 303
14.5.3 坐标轴的照相机属性 304
第15章 图形用户界面GUI 306
15.1 图形用户界面GUI基础 307
15.2 图形用户界面GUIDE 308
15.3 GUIDE的常用工具 308
15.3.1 对象设计编辑器 309
15.3.2 菜单编辑器 310
15.3.3 对象属性查看器 310
15.3.4 位置调整工具 311
15.3.5 对象浏览器 311
15.4 菜单的使用 312
15.4.1 菜单的建立 312
15.4.2 uimenu菜单的属性 314
15.4.3 uicontextmenu菜单的属性 316
15.5 基本控件 319
15.5.1 控件对象类型 319
15.5.2 控件的建立 321
15.5.3 控件属性 323
15.5.4 控件属性设置 329
15.6 综合实例:使用GUIDE创建GUI对象 329
第16章 MATLAB程序设计 346
16.1 程序设计基础 347
16.2 M文件编辑器 347
16.2.1 文件编辑器的打开 347
16.2.2 文件编辑器的设置 347
16.2.3 文件编辑器打印属性的设置 349
16.3 MATLAB的变量和关系式 350
16.3.1 M文件的变量类型 350
16.3.2 M文件的关键字 351
16.3.3 关系表达式 352
16.3.4 逻辑运算函数 353
16.4 MATLAB的程序结构 353
16.4.1 顺序结构 353
16.4.2 if选择结构 355
16.4.3 实例16-1:求解二元一次方程组 355
16.4.4 switch选择结构 357
16.4.5 while循环结构 358
16.4.6 for循环结构 358
16.4.7 实例16-2:求平均值和标准值 359
16.5 MATLAB的控制语句 360
16.5.1 continue命令 361
16.5.2 break命令 361
16.5.3 return命令 362
16.5.4 input命令 362
16.5.5 keyboard命令 363
16.5.6 echo命令 364
16.5.7 error和warning命令 364
16.5.8 pause命令 364
16.5.9 try-catch命令 364
16.6 脚本和函数 365
16.6.1 脚本文件 365
16.6.2 函数文件 366
16.7 函数与变量的参数传递 367
16.7.1 变量检测命令 367
16.7.2 跨空间计算表达式的数值 368
16.8 程序调试与优化 368
16.8.1 直接调试法 368
16.8.2 工具调试法 369
16.8.3 程序优化 370
第17章 高级编程技术 371
17.1 文件的常见操作 372
17.1.1 打开与关闭文件 372
17.1.2 读/写二进制文件 374
17.1.3 处理文本文件 378
17.2 图像处理 385
第18章 Simulink仿真系统 390
18.1 Simulink基础知识 391
18.1.1 Simulink与系统仿真 391
18.1.2 Simulink的安装与启动 391
18.1.3 添加Simulink模块 392
18.1.4 设置模块的属性 393
18.1.5 连接模块 394
18.1.6 运行仿真系统 395
18.2 Simulink的数据类型 395
18.2.1 Simulink支持的数据类型 396
18.2.2 Simulink中的数据传递 396
18.3 Simulink的基本操作 397
18.3.1 Simulink模块的工作原理 397
18.3.2 模块的操作 398
18.3.3 复制和移动模块 399
18.3.4 添加模块的阴影效果 399
18.3.5 操作模块名称 399
18.3.6 连接线的分支 400
18.3.7 移动连接线的节点 400
18.3.8 添加信号线标识 401
18.4 Simulink的信号 401
18.4.1 创建信号 401
18.4.2 添加信号标签 401
18.4.3 显示信号数值 401
18.4.4 复数信号 402
18.4.5 虚拟信号 402
18.4.6 控制信号 403
18.4.7 信号组 405
18.4.8 使用自定义信号源 409
18.5 Simulink仿真的设置 410
18.5.1 设置解算器参数 411
18.5.2 仿真数据的输入/输出设置 413
18.5.3 仿真诊断设置 414
18.6 Simulink线性系统建模 415
18.6.1 线性系统建模实例 416
18.6.2 积分器模块工作原理 417
18.6.3 设置初始状态数值 417
18.6.4 设置积分限制 418
18.6.5 重设积分状态 419
18.6.6 设置积分状态端口 419
18.7 非线性系统建模 420
第19章 MATLAB扩展编程实例 424
19.1 MATLAB在数字图形处理中的应用 425
19.11 实例19-1:给定图像的变换和重构 425
19.1.2 实例19-2:给定图像去噪声 426
19.1.3 实例19-3:校正背景亮度 426
19.1.4 实例19-4:绘制多级轮廓图 428
19.2 MATLAB在信号处理中的应用 430
19.2.1 实例19-5:绘制连续系统信号图 430
19.2.2 实例19-6:绘制连续系统图 430
19.2.3 实例19-7:设计数字低通滤波器 431
19.2.4 实例19-8:绘制幅频响应曲线 431
19.2.5 实例19-9:绘制滤波器频率响应曲线 432
19.3 MATLAB在神经网络设计中的应用 432
19.3.1 实例19-10:递归神经网络的设计 433
19.3.2 实例19-11:设计感知器神经元 435
19.3.3 实例19-12:设计线性网络 437
19.3.4实例19-13:应用竞争网络 438
19.4 MATLAB在汽车工程中的应用 439
19.4.1 实例19-14:绘制发动机特性曲线 439
19.4.2 实例19-15:绘制车辆控制速度系统 442