第1篇 MATLAB的基础知识 2
第1章 MATLAB集成环境 2
1.1 MATLAB概述 2
1.2 MATLAB的安装 2
1.3 MATLAB集成环境简介 5
1.3.1 MATLAB的运行 5
1.3.2 MATLAB的界面 6
1.3.3 MATLAB的通用命令 10
1.3.4 MATLAB帮助系统 11
1.3.5 如何学习MATLAB 15
1.4 小结 15
第2章 MATLAB的数据类型 16
2.1 数值、变量和表达式 16
2.1.1 数值型 16
2.1.2 变量和表达式 19
2.2 逻辑型 20
2.2.1 逻辑型数据概述 20
2.2.2 返回逻辑结果的函数 21
2.2.3 运算符的优先级 21
2.3 字符和字符串 23
2.3.1 函数 24
2.3.2 创建字符串函数 24
2.3.3 字符串比较函数 25
2.3.4 字符串查找与替换函数 26
2.3.5 类型转换函数 28
2.4 函数句柄 32
2.4.1 函数句柄的创建 32
2.4.2 函数句柄的基本用法 33
2.5 构架数组 33
2.5.1 构架数组的创建 34
2.5.2 构架数组的寻访 37
2.5.3 构架数组域的基本操作 38
2.5.4 构架数组的操作 40
2.6 元胞数组 42
2.6.1 元胞数组的创建 42
2.6.2 元胞数组的寻访 44
2.6.3 元胞数组的基本操作 45
2.6.4 元胞数组操作函数 48
2.7 小结 49
第3章 数学运算 50
3.1 常用的数学函数 50
3.1.1 三角函数 50
3.1.2 双曲线函数 51
3.1.3 复数函数 52
3.1.4 求和、乘积和差分 53
3.1.5 最大值和最小值 55
3.1.6 简单统计命令 56
3.1.7 排序 57
3.2 关系和逻辑运算及多项式运算 58
3.2.1 关系操作符 58
3.2.2 逻辑操作符 59
3.2.3 关系与逻辑函数 60
3.2.4 多项式运算 61
3.3 小结 63
第4章 数组和矩阵 64
4.1 MATLAB中数组和矩阵的关系 64
4.2 一维数组的创建和寻访 65
4.2.1 一维数组的创建 65
4.2.2 一维数组子数组的寻访和赋值 68
4.3 二维数组的创建和寻访 70
4.3.1 直接输入法 70
4.3.2 利用M文件创建和保存数组 71
4.3.3 二维数组子数组的寻访和赋值 71
4.4 执行数组运算的常用函数 72
4.4.1 随机构建数组函数rand() 72
4.4.2 获取数组长度函数size() 73
4.4.3 获取数组元素总数函数numel() 73
4.4.4 获取数组指定维度的长度的函数length() 74
4.4.5 获取数组平均值函数mean() 74
4.4.6 reshape()函数 75
4.5 创建新矩阵 75
4.5.1 建立新矩阵 75
4.5.2 向量和子矩阵的生成 76
4.5.3 MATLAB中的特殊矩阵 77
4.5.4 构建高维数组 80
4.5.5 高维数组的操作 83
4.5.6 “非数”和“空”矩阵 85
4.6 矩阵运算 87
4.6.1 加法和减法 87
4.6.2 乘法 87
4.6.3 除法 89
4.6.4 转置和共轭 91
4.6.5 元素操作函数 92
4.6.6 矩阵的乘方与函数 93
4.7 小结 95
第5章 数值计算 96
5.1 数值计算概述 96
5.2 函数极值点 96
5.2.1 一元函数的极小值点 96
5.2.2 多元函数的极小值点 98
5.3 函数积分 98
5.3.1 一元函数的数值积分 98
5.3.2 多重数值积分 100
5.4 函数微分 101
5.5 常微分方程 102
5.5.1 常微分方程介绍 102
5.5.2 常微分方程求解 103
5.5.3 常微分方程的边界问题 104
5.6 曲线拟合 105
5.7 函数插值 107
5.7.1 一维插值 108
5.7.2 二维插值 110
5.8 多项式及其操作 111
5.8.1 多项式的表达和创建 112
5.8.2 多项式的根 112
5.8.3 导数 113
5.8.4 估值 114
5.8.5 有理多项式 114
5.9 小结 115
第6章 符号计算 116
6.1 符号常量和符号变量 116
6.1.1 定义符号常量 116
6.1.2 定义符号变量 117
6.1.3 默认符号变量 118
6.2 符号表达式 119
6.3 符号表达式运算 120
6.3.1 提取分子和分母 120
6.3.2 标准代数运算 120
6.3.3 高级运算 121
6.3.4 变换函数 123
6.3.5 变量替换 125
6.3.6 符号微分和积分 125
6.3.7 符号积分变换 128
6.4 符号表达式简化和格式化 131
6.5 方程求解 134
6.5.1 求解代数方程组 134
6.5.2 单个微分方程 135
6.5.3 微分方程组 136
6.6 线性代数和矩阵 136
6.6.1 符号矩阵的创建 136
6.6.2 符号矩阵相关函数 138
6.6.3 线性代数运算 139
6.7 符号工具箱函数 141
6.8 小结 143
第7章 MATLAB绘图基础 144
7.1 二维图形绘制 144
7.1.1 plot()函数 144
7.1.2 线型、标记和颜色 147
7.1.3 多个图形叠绘及多个图形窗口 148
7.1.4 子图绘制 149
7.1.5 交互式绘图和屏幕刷新 151
7.1.6 使用plotyy()函数绘制双坐标轴 153
7.1.7 Easy绘图命令 154
7.2 三维图形绘制 156
7.2.1 曲线图绘制 156
7.2.2 网格图绘制 157
7.2.3 曲面图的绘制 158
7.2.4 绘制等值线图 160
7.3 特殊图形绘制 160
7.3.1 区域图绘制 161
7.3.2 饼图绘制 161
7.3.3 直方图和梯形图 162
7.3.4 矢量分布图绘制 163
7.3.5 误差线图形绘制 164
7.3.6 离散数据图绘制 165
7.3.7 伪色彩图绘制 165
7.3.8 极坐标图形绘制 166
7.4 图形处理 167
7.4.1 图形标注 167
7.4.2 坐标轴的控制 168
7.4.3 图形的打印和输出 169
7.5 图形窗口 170
7.5.1 图形窗口的创建与控制 170
7.5.2 图形窗口的菜单操作 171
7.5.3 图形窗口的工具栏 171
7.6 小结 172
第8章 MATLAB程序设计基础 173
8.1 程序结构 173
8.1.1 顺序结构 173
8.1.2 选择结构 175
8.1.3 循环结构 178
8.2 控制命令 180
8.2.1 continue命令 180
8.2.2 break命令 181
8.2.3 return命令 181
8.2.4 keyboard命令 182
8.2.5 error()函数和warning()函数 183
8.3 程序的调试 183
8.3.1 直接调试法 183
8.3.2 工具调试法 183
8.3.3 程序调试的常见错误 186
8.4 小结 186
第9章 M文件处理和输入输出操作 187
9.1 M文件的编写 187
9.1.1 M文件简介 187
9.1.2 M文件的两种形式 189
9.1.3 全局变量和局部变量 193
9.1.4 子函数 195
9.1.5 文件操作与基本的输入输出 195
9.2 工作空间数据的读取 201
9.2.1 局部工作空间 201
9.2.2 基本工作空间 201
9.3 小结 201
第10章 图形用户界面GUI的设计制作 202
10.1 创建图形界面GUI的目的 202
10.2 GUI对象层次结构 203
10.2.1 创建图形窗口 203
10.2.2 其他相关操作函数 205
10.3 菜单的设计制作 205
10.3.1 菜单的布置 205
10.3.2 建立菜单和子菜单 206
10.3.3 菜单属性 207
10.3.4 菜单快捷键 208
10.3.5 菜单的外观与颜色控制 209
10.3.6 综合实例 209
10.4 控制框的设计和布局 210
10.4.1 建立不同类型的控制框 210
10.4.2 控制框属性 214
10.4.3 控制框布置的考虑 216
10.5 图形界面创建工具GUIDE 218
10.5.1 使用GUIDE工具 219
10.5.2 使用GUIDE进行GUI的设计 220
10.6 小结 223
第11章 Simulink仿真集成环境 224
11.1 Simulink概述 224
11.2 Simulink模型操作 226
11.2.1 Simulink模型原理 226
11.2.2 模块的操作 227
11.2.3 信号线的操作 229
11.3 Simulink模块库简介 230
11.3.1 Source库中的信号源 231
11.3.2 Sinks库中的信号源 233
11.3.3 其他常用模块 234
11.4 Simulink子系统的定义和应用 235
11.4.1 子系统的创建 235
11.4.2 封装子系统 236
11.4.3 条件执行子系统 240
11.5 Simulink仿真系统的环境设置 242
11.5.1 解算器的设置 242
11.5.2 仿真数据的输入与输出设置 243
11.6 Simulink S-()函数的应用 245
11.6.1 S-()函数的作用和原理 245
11.6.2 用M文件创建S-()函数 247
11.7 Simulink动态系统仿真 251
11.7.1 使用积分器求解微分方程 251
11.7.2 使用传递函数进行仿真 252
11.7.3 使用状态空间方法进行系统仿真 253
11.8 小结 254
第2篇 MATLAB的应用 256
第12章 MATLAB工具箱概述 256
12.1 MATLAB工具箱分类 256
12.1.1 功能型工具箱 256
12.1.2 领域型工具箱 257
12.2 MATLAB工具箱操作 258
12.2.1 工具箱的加载 258
12.2.2 工具箱的卸载 260
12.3 MATLAB工具箱编写技巧 260
12.4 小结 261
第13章 机械系统设计分析 262
13.1 MATLAB在机械系统设计分析中的作用 262
13.2 连杆机构的运动设计 262
13.2.1 给定极限位置和最小传动角的设计 263
13.2.2 给定连架杆对应位置的设计 265
13.2.3 优化设计 267
13.3 齿轮传动零件的设计分析 270
13.3.1 齿轮传动设计计算方法 270
13.3.2 M文件的编写和处理流程 271
13.3.3 运算结果分析 272
13.4 轴系设计计算 279
13.4.1 齿轮传动设计 280
13.4.2 转轴的设计计算 282
13.4.3 轴承的寿命计算 285
13.4.4 M文件的编写和运算结果分析 288
13.5 小结 297
第14章 最优化设计 298
14.1 MATLAB优化工具箱 298
14.1.1 工具箱概述及功能 298
14.1.2 工具箱结构 298
14.1.3 工具箱函数 299
14.2 无约束极值问题 302
14.2.1 进退法 302
14.2.2 牛顿法 304
14.2.3 抛物线法 307
14.2.4 三次插值法 309
14.3 约束优化问题 311
14.3.1 罚函数法 311
14.3.2 坐标轮换法 314
14.3.3 复合形法 317
14.3.4 MATLAB工具箱应用实例 321
14.4 模拟退火算法 323
14.4.1 模拟退火算法简介 323
14.4.2 模拟退火算法应用实例 325
14.5 遗传算法 326
14.5.1 遗传算法概述 326
14.5.2 基本遗传算法 327
14.5.3 适值函数标定的遗传算法 329
14.5.4 遗传算法应用实例 331
14.6 粒子群优化算法 332
14.6.1 粒子群算法概述 332
14.6.2 基本粒子群算法 333
14.6.3 带压缩因子的粒子群算法 335
14.6.4 粒子群算法应用实例 336
14.7 小结 337
第15章 控制系统设计 338
15.1 系统时间响应及其仿真 338
15.1.1 系统时间响应基本概念 338
15.1.2 仿真算法 338
15.1.3 系统仿真的MATLAB函数 340
15.2 系统频率响应及其仿真 346
15.2.1 频率特性和响应的基本概念 346
15.2.2 频率响应的MATLAB函数 347
15.2.3 系统分析图形用户界面 352
15.3 控制系统的综合与校正 355
15.3.1 系统性能指标的计算 355
15.3.2 系统综合与校正的概念 356
15.3.3 系统综合与校正实例 357
15.4 小结 358
第16章 信号处理 359
16.1 数字信号处理基本理论 359
16.1.1 信号的生成 359
16.1.2 离散信号与系统 363
16.1.3 Z变换 364
16.1.4 离散傅立叶变换 364
16.1.5 数字滤波器结构 365
16.2 信号处理工具箱函数 366
16.2.1 波形产生 366
16.2.2 滤波器分析和实现与线性系统变换 369
16.2.3 变换 370
16.3 信号处理系统分析与设计 372
16.3.1 Z变换的MATLAB实现 372
16.3.2 IIR滤波器的MATLAB实现 373
16.3.3 FIR滤波器的MATLAB实现 377
16.4 小结 380
第17章 神经网络应用 381
17.1 神经网络概述 381
17.1.1 神经网络的发展和应用 381
17.1.2 神经网络模型 383
17.1.3 神经网络工具箱概述 384
17.2 感知器 385
17.2.1 感知器神经网络模型结构 386
17.2.2 感知器神经网络的构建 388
17.2.3 感知器网络设计实例 389
17.3 线性神经网络 390
17.3.1 线性神经网络模型结构 390
17.3.2 线性神经网络的构建 391
17.3.3 线性神经网络应用实例分析 392
17.4 BP网络 395
17.4.1 BP网络模型结构 395
17.4.2 BP神经网络的构建 395
17.4.3 BP网络应用实例分析 396
17.5 反馈型神经网络 400
17.5.1 Hopfield网络 400
17.5.2 Elman神经网络 400
17.5.3 反馈网络应用实例分析 401
17.6 应用实例 403
17.7 小结 408
第18章 MATLAB图像处理 409
18.1 图像处理工具箱概述 409
18.1.1 常用图像格式 409
18.1.2 MATLAB 7.10图像类型和转换 410
18.1.3 图像处理和分析系统 414
18.2 图像文件的操作 415
18.2.1 图像文件显示 416
18.2.2 图像文件读写 419
18.2.3 图像格式转换 419
18.3 MATLAB图像增强 420
18.3.1 对比度增强 420
18.3.2 直方图均衡化 424
18.3.3 空域滤波增强 425
18.3.4 频域增强 427
18.4 小结 427
第3篇 MATLAB案例 429
第19章 曲柄滑块机构的计算机仿真 429
19.1 运动学仿真和动力学仿真 429
19.1.1 运动学仿真 429
19.1.2 动力学仿真 430
19.2 曲柄滑块机构运动方程的建立 432
19.2.1 曲柄滑块机构的基本概念 432
19.2.2 曲柄滑块机构的闭环矢量方程的建立 432
19.3 曲柄滑块机构运动过程仿真 433
19.3.1 通过运动学仿真求解速度 433
19.3.2 通过运动学仿真求解加速度 435
19.3.3 结果分析 437
19.4 小结 437
参考文献 438