第1章 MATLAB入门 1
1.1 MATLAB概述 2
1.1.1 什么是MATLAB 2
1.1.2 MATLAB的发展历程 3
1.1.3 MATLAB语言的特点 4
1.1.4 MATLAB系统 6
1.1.5 MATLAB R2016a的新特性 7
1.2 MATLAB 2016的工作环境 8
1.2.1 启动MATLAB 9
1.2.2 命令窗口 10
1.2.3 历史窗口 11
1.2.4 当前目录窗口 11
1.2.5 工作空间管理窗口 12
1.3 MATLAB的帮助系统 13
1.3.1 联机帮助系统 14
1.3.2 命令窗口查询帮助系统 14
1.3.3 联机演示系统 17
1.3.4 常用命令和技巧 20
1.4 MATLAB的搜索路径与扩展 20
1.4.1 MATLAB的搜索路径 21
1.4.2 MATLAB搜索路径扩展 21
第2章 MATLAB基础知识 23
2.1 数据类型 24
2.1.1 变量与常量 24
2.1.2 数值 25
2.1.3 字符串 27
2.1.4 向量 29
2.1.5 矩阵 31
2.1.6 单元型变量 40
2.1.7 结构型变量 42
2.2 运算符 43
2.2.1 算术运算符 43
2.2.2 关系运算符 44
2.2.3 逻辑运算符 44
2.3 数值运算 45
2.3.1 矩阵运算 45
2.3.2 向量运算 52
2.3.3 多项式运算 53
2.4 符号运算 56
2.4.1 符号表达式的生成 56
2.4.2 符号表达式的运算 57
2.4.3 符号与数值间的转换 60
2.4.4 符号矩阵 61
2.5 M文件 67
2.5.1 命令文件 67
2.5.2 函数文件 68
2.6 MATLAB程序设计 71
2.6.1 程序结构 71
2.6.2 程序的流程控制 78
2.6.3 交互式输入 84
2.6.4 程序调试 86
2.7 函数句柄 89
2.7.1 函数句柄的创建与显示 89
2.7.2 函数句柄的调用与操作 90
2.8 图形用户界面 91
2.8.1 GUI设计向导 91
2.8.2 GUI设计工具 92
2.8.3 GUI控件 96
第3章 数据可视化与绘图 98
3.1 图形窗口 99
3.1.1 图形窗口的创建 99
3.1.2 工具条的使用 102
3.2 数据可视化 108
3.2.1 离散情况 108
3.2.2 连续情况 109
3.3 二维绘图 110
3.3.1 plot绘图命令 110
3.3.2 plot绘图命令 115
3.3.3 ezplot绘图命令 118
3.3.4 其他坐标系下的绘图命令 119
3.4 二维图形修饰处理 123
3.4.1 坐标轴控制 123
3.4.2 图形注释 125
3.4.3 图形放大与缩小 132
3.4.4 颜色控制 133
3.5 三维绘图 134
3.5.1 三维曲线绘图命令 134
3.5.2 三维网格命令 136
3.5.3 三维曲面命令 140
3.5.4 柱面与球面 142
3.5.5 三维图形等值线 144
3.6 三维图形修饰处理 151
3.6.1 视角处理 151
3.6.2 颜色处理 152
3.6.3 光照处理 156
3.7 特殊图形 158
3.7.1 统计图形 159
3.7.2 离散数据图形 163
3.7.3 向量图形 167
3.8 图像处理及动画演示 169
3.8.1 图像的读写 169
3.8.2 图像的显示及信息查询 170
3.8.3 动画演示 173
第4章 试验数据分析与处理 175
4.1 曲线拟合 176
4.1.1 最小二乘法曲线拟合 176
4.1.2 直线的最小二乘拟合 179
4.2 数值插值 181
4.2.1 拉格朗日(Lagrange)插值 181
4.2.2 埃尔米特(Hermite)插值 183
4.2.3 分段线性插值 185
4.2.4 三次样条插值 187
4.2.5 多维插值 188
4.3 回归分析 189
4.3.1 一元线性回归 190
4.3.2 多元线性回归 191
4.3.3 部分最小二乘回归 194
4.4 方差分析 200
4.4.1 单因素方差分析 200
4.4.2 双因素方差分析 202
4.5 正交试验分析 206
4.5.1 正交试验的极差分析 206
4.5.2 正交试验的方差分析 209
4.6 判别分析 212
4.6.1 距离判别 212
4.6.2 费歇判别 216
4.7 多元数据相关分析 217
4.7.1 主成分分析 218
4.7.2 典型相关分析 219
4.8 MATLAB数理统计基础 222
4.8.1 样本均值 222
4.8.2 样本方差与标准差 223
4.8.3 协方差和相关系数 224
4.8.4 数据比较 225
4.8.5 数据累积与累和 227
第5章 矩阵分析 229
5.1 特征值与特征向量 230
5.1.1 标准特征值与特征向量问题 230
5.1.2 广义特征值与特征向量问题 232
5.1.3 部分特征值问题 233
5.2 矩阵对角化 235
5.2.1 预备知识 235
5.2.2 具体操作 237
5.3 若尔当(Jordan)标准形 239
5.3.1 若尔当(Jordan)标准形介绍 239
5.3.2 jordan命令 240
5.4 矩阵的反射与旋转变换 241
5.4.1 两种变换介绍 241
5.4.2 豪斯霍尔德(Householder)反射变换 242
5.4.3 吉文斯(Givens)旋转变换 243
5.5 矩阵分解 246
5.5.1 楚列斯基(Cholesky)分解 246
5.5.2 LU分解 247
5.5.3 LDMT与LDLT分解 249
5.5.4 QR分解 252
5.5.5 SVD分解 254
5.5.6 舒尔(Schur)分解 255
5.5.7 海森伯格(Hessenberg)分解 257
5.6 线性方程组的求解 257
5.6.1 线性方程组基础 258
5.6.2 利用矩阵的逆(伪逆)与除法求解 259
5.6.3 利用行阶梯形求解 261
5.6.4 利用矩阵分解法求解 264
5.6.5 非负最小二乘解 269
5.7 综合应用举例 270
第6章 数学分析 276
6.1 极限、导数与微分 277
6.1.1 极限 277
6.1.2 导数与微分 278
6.2 积分 280
6.2.1 定积分与广义积分 280
6.2.2 不定积分 282
6.3 级数求和 283
6.3.1 有限项级数求和 283
6.3.2 无穷级数求和 284
6.4 泰勒(Taylor)展开 285
6.4.1 泰勒(Taylor)定理 285
6.4.2 MATLAB实现方法 286
6.5 傅里叶(Fourier)展开 288
6.6 积分变换 289
6.6.1 傅里叶(Fourier)积分变换 289
6.6.2 傅里叶(Fourier)逆变换 291
6.6.3 快速傅里叶(Fourier)变换 292
6.6.4 拉普拉斯(Laplace)变换 295
6.6.5 拉普拉斯(Laplace)逆变换 296
6.7 多元函数分析 297
6.7.1 多元函数的偏导 297
6.7.2 多元函数的梯度 299
6.8 多重积分 301
6.8.1 二重积分 301
6.8.2 三重积分 303
第7章 微分方程 306
7.1 常微分方程的数值解法 307
7.1.1 欧拉(Euler)方法 307
7.1.2 龙格-库塔(Runge Kutta)方法 309
7.1.3 龙格-库塔(Runge-Kutta)方法解刚性问题 315
7.2 常微分方程的符号解法 316
7.3 常微分方程的仿真 317
7.4 时滞微分方程的数值解法 322
7.5 偏微分方程 324
7.5.1 介绍 324
7.5.2 区域设置及网格化 326
7.5.3 边界条件设置 330
7.5.4 解椭圆型方程 331
7.5.5 解抛物型方程 335
7.5.6 解双曲型方程 337
7.5.7 解特征值方程 338
7.5.8 解非线性椭圆型方程 340
第8章 优化设计 342
8.1 优化问题概述 343
8.1.1 背景 343
8.1.2 基本概念及分支 343
8.1.3 最优化问题的实现 345
8.2 线性规划 346
8.2.1 表述形式 346
8.2.2 MATLAB求解 347
8.3 无约束优化问题 355
8.3.1 无约束优化算法简介 355
8.3.2 MATLAB求解 356
8.4 约束优化问题 363
8.4.1 单变量约束优化问题 363
8.4.2 多元约束优化问题 365
8.4.3 Minimax问题 369
8.4.4 二次规划问题 373
8.5 最小二乘优化 376
8.5.1 线性最小二乘优化 376
8.5.2 非线性最小二乘优化 380
8.5.3 最小二乘曲线拟合 384
8.6 多目标规划 387
8.6.1 表述形式 387
8.6.2 MATLAB求解 388
8.7 非线性方程(组)的求解 392
8.7.1 非线性方程的求解 393
8.7.2 非线性方程组的求解 394
8.8 优化参数设置 396
8.8.1 设置优化参数 396
8.8.2 获取优化参数 398
第9章 MATLAB联合编程 399
9.1 应用程序接口介绍 400
9.1.1 MEX文件简介 400
9.1.2 mx-函数库和MEX文件的区别 400
9.1.3 MAT文件 401
9.2 MEX文件的编辑与使用 401
9.2.1 编写C语言MEX文件 401
9.2.2 编写FORTRAN语言MEX文件 403
9.3 MATLAB与.NET联合编程 404
9.3.1 MATLAB Builder for.NET主要功能 404
9.3.2 MATLAB Builder for.NET原理 404
9.3.3 MATLAB Builder for.NET应用实例 406
9.4 MATLAB与C/C++语言联合编程 413
9.4.1 独立应用程序 413
9.4.2 面向C/C++的DLL 414
9.5 MATLAB与Excel联合编程 418
9.5.1 Excel Link安装与运行 418
9.5.2 Excel Link函数 421
9.5.3 Excel Link应用示例 422
9.5.4 Excel Link应用注意事项 424
9.5.5 MATLAB Builder for Excel 424
9.5.6 Excel Builder创建实例 424