第1章 MATLAB入门 1
1.1 MATLAB概述 1
1.1.1 MATLAB发展历程 1
1.1.2 MATLAB系统 2
1.2 MATLAB 2016用户界面 3
1.2.1 标题栏 3
1.2.2 功能区 4
1.2.3 工具栏 4
1.2.4 命令窗口 5
1.2.5 历史窗口 7
1.2.6 当前目录窗口 8
1.2.7 工作空间管理窗口 10
1.2.8 图像窗口 11
1.3 MATLAB内容及查找 12
1.3.1 MATLAB的搜索路径 12
1.3.2 扩展MATLAB的搜索路径 13
1.4 MATLAB帮助系统 15
1.4.1 联机帮助系统 15
1.4.2 帮助命令 15
1.4.3 联机演示系统 18
1.4.4 网络资源 20
第2章 MATLAB基础知识 22
2.1 MATLAB命令的组成 22
2.1.1 基本符号 23
2.1.2 功能符号 24
2.1.3 常用指令 25
2.1.4 基本数学函数 27
2.2 数据类型 27
2.2.1 变量与常量 28
2.2.2 数值 29
2.2.3 字符串 32
2.2.4 向量 34
2.2.5 矩阵 36
2.2.6 单元型变量 42
2.2.7 结构型变量 43
2.3 运算符 45
2.3.1 算术运算符 45
2.3.2 关系运算符 46
2.3.3 逻辑运算符 46
2.4 数值运算 46
2.4.1 矩阵运算 47
2.4.2 向量运算 52
2.5 M文件 54
2.5.1 命令式文件 55
2.5.2 函数式文件 57
2.6 操作实例——魔方阵函数 58
第3章 程序设计基础 60
3.1 MATLAB程序设计 60
3.1.1 表达式、表达式语句与赋值语句 60
3.1.2 程序结构 61
3.1.3 程序流程控制指令 66
3.1.4 人机交互语句 67
3.1.5 MATLAB程序的调试命令 69
3.2 函数句柄 69
3.2.1 函数句柄的创建与显示 69
3.2.2 函数句柄的调用与操作 70
3.3 函数变量及其作用域 70
3.4 子函数与私有函数 71
3.5 程序设计的辅助函数 71
3.6 程序设计优化 73
3.7 文件调用记录 73
3.7.1 profile函数 73
3.7.2 调用记录结果的显示 74
3.8 操作实例——编写一个学生成绩评定函数 78
第4章 图形绘制 80
4.1 二维曲线的绘制 80
4.1.1 绘制二维图形 80
4.1.2 多图形显示 84
4.1.3 函数图形的绘制 87
4.2 图形属性设置 91
4.2.1 图形窗口的属性 91
4.2.2 坐标系与坐标轴 95
4.2.3 图形注释 98
4.3 三维绘图 104
4.3.1 三维曲线绘图命令 104
4.3.2 三维网格命令 108
4.3.3 三维曲面命令 111
4.3.4 柱面与球面 113
4.3.5 三维图形等值线 115
4.4 三维图形修饰处理 120
4.4.1 视角处理 120
4.4.2 颜色处理 122
4.4.3 光照处理 125
4.5 操作实例——绘制函数的三维视图 129
第5章 图形与图像的处理 132
5.1 向量图形 132
5.2 图像处理及动画演示 135
5.2.1 图像的读写 135
5.2.2 图像的显示及信息查询 136
5.2.3 动画演示 139
5.3 操作实例——曲线的绘制 141
第6章 高等数学计算 144
6.1 数列 144
6.1.1 数列求和 145
6.1.2 数列求积 151
6.2 级数 156
6.3 极限、导数 158
6.3.1 极限 158
6.3.2 导数 159
6.4 积分 160
6.4.1 定积分与广义积分 160
6.4.2 不定积分 162
6.4.3 多重积分 162
6.5 积分变换 165
6.5.1 傅里叶(Fourier)积分变换 165
6.5.2 傅里叶(Fourier)逆变换 166
6.5.3 快速傅里叶(Fourier)变换 167
6.5.4 拉普拉斯(Laplace)变换 170
6.5.5 拉普拉斯(ilaplace)逆变换 171
6.6 复杂函数 172
6.6.1 泰勒(Taylor)展开 172
6.6.2 傅里叶(Fourier)展开 174
6.7 操作实例——高斯脉冲时域与频域转换 175
第7章 方程组 177
7.1 方程的运算 177
7.1.1 方程组的介绍 177
7.1.2 方程式的解 178
7.1.3 线性方程有解 179
7.2 线性方程组求解 179
7.2.1 线性方程组定义 180
7.2.2 利用矩阵的基本运算 180
7.2.3 利用矩阵分解法求解 182
7.2.4 非负最小二乘解 186
7.3 四元一次方程组求解 189
7.3.1 利用矩阵的逆 190
7.3.2 利用行阶梯形求解 190
7.3.3 利用矩阵分解求解 191
7.4 非线性方程(组)的求解 195
7.4.1 非线性方程的求解 195
7.4.2 非线性方程组的求解 196
7.5 常微分方程的数值解法 197
7.5.1 欧拉(Euler)方法 198
7.5.2 龙格-库塔(Runge Kutta)方法 200
7.5.3 用龙格-库塔(Runge-Kutta)方法解刚性问题 205
7.6 偏微分方程 206
7.6.1 偏微分方程简介 206
7.6.2 区域设置及网格化 207
7.6.3 边界条件设置 211
7.6.4 解椭圆型方程 213
7.6.5 解抛物型方程 216
7.6.6 解双曲型方程 217
7.6.7 解特征值方程 218
7.6.8 解非线性椭圆型方程 220
7.7 操作实例——带雅可比矩阵的非线性方程组求解 221
第8章 符号运算 224
8.1 符号与数值 224
8.1.1 符号与数值间的转换 224
8.1.2 符号与数值间的精度设置 225
8.2 符号矩阵 226
8.2.1 符号矩阵的创建 226
8.2.2 符号矩阵的其他运算 228
8.2.3 符号多项式的简化 233
8.3 多元函数分析 235
8.3.1 雅可比矩阵 235
8.3.2 实数矩阵的梯度 236
8.4 操作实例——希尔伯特矩阵 237
第9章 优化设计 247
9.1 优化问题概述 247
9.1.1 背景 247
9.1.2 最优化问题的实现 248
9.1.3 基本概念及分支 248
9.2 MATLAB中的工具箱 250
9.2.1 MATLAB中常用的工具箱 250
9.2.2 工具箱和工具箱函数的查询 251
9.3 优化工具箱中的函数 254
9.4 优化函数的变量 255
9.5 参数设置 257
9.5.1 参数值 257
9.5.2 optimset函数 258
9.5.3 optimget函数 263
9.6 模型输入时需要注意的问题 264
9.7 @函数 264
9.8 优化算法介绍 265
9.8.1 参数优化问题 265
9.8.2 无约束优化问题 266
9.8.3 拟牛顿法实现 268
9.8.4 最小二乘优化 268
9.8.5 非线性最小二乘实现 269
9.8.6 约束优化 269
9.8.7 SQP实现 270
9.9 线性规划 271
9.9.1 表述形式 271
9.9.2 MATLAB求解 272
9.10 操作实例——最小化问题 279
第10章 图形用户界面设计 282
10.1 用户界面概述 282
10.1.1 用户界面对象 282
10.1.2 图形用户界面 283
10.2 图形用户界面设计 285
10.2.1 GUI概述 285
10.2.2 创建控件 285
10.2.3 控件属性编辑 288
10.3 控件编程 291
10.3.1 菜单设计 292
10.3.2 回调函数 294
10.4 操作实例——二阶系统的曲线显示 297
第11章 Simulink仿真基础 300
11.1 Simulink简介 300
11.1.1 Simulink模型的特点 301
11.1.2 Simulink的数据类型 302
11.2 Simulink模块库 305
11.2.1 常用模块库 305
11.2.2 子系统及其封装 307
11.3 模块的创建 312
11.3.1 创建模块文件 312
11.3.2 模块的基本操作 314
11.3.3 模块参数设置 315
11.3.4 模块的连接 317
11.4 仿真分析 319
11.4.1 仿真参数设置 320
11.4.2 仿真的运行和分析 321
11.4.3 仿真错误诊断 322
11.5 过零检测 323
11.6 代数环 324
11.7 回调函数 324
11.8 S函数 326
11.8.1 S函数的工作流程 326
11.8.2 S函数的编写 327
11.9 操作实例——轴系扭转振动仿真 329
第12章 数理统计分析 332
12.1 MATLAB数理统计基础 332
12.1.1 样本均值 332
12.1.2 样本方差与标准差 334
12.1.3 协方差和相关系数 335
12.2 曲线拟合 336
12.2.1 多项式拟和 336
12.2.2 直线的最小二乘拟合 337
12.2.3 最小二乘法曲线拟合 339
12.3 回归分析 341
12.3.1 一元线性回归 342
12.3.2 多元线性回归 342
12.3.3 部分最小二乘回归 343
12.4 操作实例——飞机速度拟合分析 346
第13章 概率统计分析 349
13.1 概率问题 349
13.2 数据可视化 349
13.2.1 离散情况 349
13.2.2 连续情况 350
13.3 正交试验分析 352
13.3.1 正交试验的极差分析 352
13.3.2 正交试验的方差分析 355
13.4 特殊图形 358
13.4.1 统计图形 358
13.4.2 离散数据图形 362
13.5 操作实例——盐泉的钾性判别 365
第14章 MATLAB与外部程序接口 370
14.1 应用程序接口介绍 370
14.1.1 MEX文件 370
14.1.2 mx-函数库和MEX文件的区别 371
14.1.3 MAT文件 372
14.2 MEX文件的编辑与使用 372
14.2.1 C语言MEX文件的编写 372
14.2.2 FORTRAN语言MEX文件 378
14.3 MATLAB可执行程序 379
14.3.1 接口函数mexFunction 379
14.3.2 出错信息发布函数mexErrMsgTxt和mexWarnMsgTxt 379
14.3.3 变量定义函数mexCallMATLAB和mexString 380
14.3.4 建立二维双精度矩阵函数mxCreateDoubleMatrix 380
14.3.5 获取行维和列维函数mxGetM、mxGetN 380
14.3.6 获取矩阵实部和虚部函数mxGetPr、mxGetPi 381
14.3.7 在Visual C++中实现MATLAB可执行程序 381
第15章 控制系统的时域分析设计实例 385
15.1 控制系统的分析 385
15.1.1 控制系统的仿真分析 385
15.1.2 闭环传递函数 385
15.2 闭环传递函数的响应分析 386
15.2.1 阶跃响应曲线 386
15.2.2 冲激响应曲线 387
15.2.3 斜坡响应 388
15.3 控制系统的稳定性分析 388
15.3.1 状态空间实现 388
15.3.2 稳定性 389
第16章 分析健康女性的测量数据设计实例 391
16.1 健康女性的测量数据分析 391
16.2 曲线拟合分析 391
16.2.1 二次多项式拟合曲线 392
16.2.2 直线拟合分析 393
16.2.3 线性回归分析 395
16.3 样本分析 396
16.3.1 样本均值分析 396
16.3.2 样本方差的分析 398
16.3.3 协方差分析 399
参考文献 404