标题：MATLAB函数查询及应用案例
出版信息
  MATLAB函数查询及应用案例作者：丁毓峰(作者) 
出版社: 电子工业出版社; 第1版 (2011年9月1日) 
丛书名: MATLAB仿真与应用精品丛书 
其他: 380页 
ISBN: 9787121146312 
条形码: 9787121146312
内容简介
本书结合科学研究和工程中的实际需要，系统、全面地介绍了MATLAB的常用函数。主要内容包括MATLAB基础及通用函数、数学运算函数、数组和矩阵运算函数、数值计算函数、概率统计函数、图形及图像处理函数、符号计算函数、图形用户界面开发函数、Simulink仿真函数、控制系统设计函数、信号处理函数、神经网络应用函数、最优化设计函数和小波变换函数。本书讲解的函数主线为从MATLAB的基础知识到不同领域的应用和实际问题的解决。结合函数的功能和使用方法的描述，本书提供了大量实例，并将实例源代码收录于配书光盘中，供读者在学习过程中使用。
目录
目 录
第1章 MATLAB基础及通用函数 1
1.1 MATLAB概述 1
1.2 MATLAB集成环境简介 1
1.2.1 MATLAB的运行 1
1.2.2 MATLAB界面 2
1.2.3 MATLAB帮助系统 4
1.3 通用命令 5
1.3.1 指定搜索路径path命令 5
1.3.2 增加搜索路径addpath命令 6
1.3.3 删除搜索路径rmpath命令 7
1.3.4 读出超文本文件doc命令 7
1.3.5 查看文件内容type命令 7
1.3.6 显示文本或数组disp命令 8
1.3.7 清除内存中的对象clear命令 8
1.3.8 清屏clc命令 9
1.3.9 计算向量或矩阵长度length命令 9
1.3.10 计算数组维数大小size 命令 10
1.3.11 列出当前内存中的变量who/whos命令 10
1.3.12 列出当前目录文件what命令 11
1.3.13 获得帮助help 命令 11
1.4 数据输入/输出函数 12
1.4.1 数据输入input ( ) 12
1.4.2 生成菜单menu ( ) 13
1.4.3 程序暂停pause 命令 13
1.4.4 输出、显示格式控制format( ) 14
1.4.5 保存工作空间变量到文件save ( ) 15
1.4.6 从文件中将变量调入工作空间load ( ) 15
1.4.7 打开文件fopen ( ) 16
1.4.8 关闭文件fclose ( ) 17
1.4.9 从文件中读出格式化数据fscanf ( ) 18
1.4.10 向文件中写入格式化数据fprintf ( ) 19
1.4.11 从文件中读出二进制数据fread ( ) 20
1.4.12 向文件中写入二进制数据fwrite ( ) 20
1.4.13 以字符串形式返回文件下一行fgets ( ) 21
1.4.14 查询文件输入/输出操作错误ferror ( ) 21
1.4.15 测试文件结尾feof ( ) 22
1.4.16 设置文件位置指示器fseek ( ) 22
1.4.17 获取文件指示器位置ftell ( ) 22
1.4.18 格式化数据写到字符串sprintf ( ) 23
1.4.19 规定格式控制下读出字符串sscanf ( ) 23
1.4.20 读出ASCII文件dlmread ( ) 24
1.4.21 矩阵写入ASCII文件dlmwrite ( ) 25
1.5 MATLAB程序设计 26
1.5.1　MATLAB程序设计概述 26
1.5.2　for循环 26
1.5.3　while循环 27
1.5.4　if-else-end结构 28
1.5.5　switch-case结构 29
1.5.6　try-catch结构 30
1.5.7　continue命令 30
1.5.8　break命令 31
1.5.9　return命令 32
1.5.10　keyboard命令 32
1.5.11 error和warning命令 33
1.6 小结 34
第2章 数学运算函数 35
2.1 常用数学函数 35
2.1.1 三角函数 35
2.1.2 双曲线函数 38
2.1.3 复数函数 40
2.1.4 求和、乘积和差分函数 43
2.1.5 最大值和最小值函数 45
2.1.6 简单统计函数 47
2.1.7 排序sort( ) 49
2.2 关系和逻辑运算函数 50
2.2.1 关系操作符 51
2.2.2 逻辑操作符 54
2.2.3 关系与逻辑函数 56
2.3 小结 57
第3章 数组和矩阵运算函数 58
3.1 数组运算的常用函数 58
3.1.1 一维数组的创建和寻访 58
3.1.2 二维数组的创建和寻访 60
3.1.3 执行数组运算的常用函数 61
3.2 矩阵生成函数 64
3.2.1 零矩阵zeros ( ) 64
3.2.2 单位矩阵eye ( ) 65
3.2.3 全1矩阵ones ( ) 66
3.2.4 魔方矩阵magic ( ) 66
3.2.5 创建多维数组cat ( ) 67
3.2.6 对角矩阵diag ( ) 67
3.2.7 生成指定对角线元素的矩阵blkdiag( ) 68
3.2.8 随机整数排列randperm( ) 69
3.2.9 Pascal矩阵pascal( ) 69
3.2.10 托普利兹矩阵toeplitz( ) 70
3.2.11 均匀分布随机矩阵rand ( ) 70
3.2.12 正态分布随机矩阵randn( ) 70
3.2.13 线性等分向量linspace( ) 71
3.2.14 生成对数等分向量logspace( ) 71
3.3 矩阵基本运算函数 72
3.3.1 矩阵基本运算函数分类 72
3.3.2 计算矩阵和向量的范数norm( ) 75
3.3.3 计算矩阵的秩rank( ) 76
3.3.4 计算矩阵行列式值det( ) 77
3.3.5 计算矩阵的迹trace( ) 77
3.3.6 计算矩阵的特征值和特征向量eig( ) 78
3.3.7 计算矩阵的特征多项式poly( ) 79
3.3.8 Cholesky分解chol( ) 79
3.3.9 计算矩阵的逆矩阵inv ( ) 80
3.3.10 计算矩阵的伪逆矩阵pinv( ) 80
3.3.11 计算矩阵的平方根sqrtm( ) 81
3.3.12 向量或矩阵的乘积dot( ) 81
3.3.13 向量或矩阵的叉积cross( ) 82
3.3.14 计算向量的卷积和多项式乘法conv( ) 82
3.3.15 求两集合的并集union( ) 83
3.3.16 取集合的单值元素unique( ) 83
3.3.17 求矩阵的条件数cond( ) 84
3.3.18 上三角阵的抽取triu ( ) 84
3.3.19 下三角阵的抽取tril( ) 85
3.3.20 转换矩阵数值为分数或符号sym ( ) 85
3.3.21 符号矩阵的因式分解factor( ) 86
3.3.22 展开符号矩阵expand( ) 86
3.3.23 复对角矩阵转化为实对角矩阵cdf2rdf ( ) 86
3.3.24 统计矩阵中非零元素的个数nnz( ) 87
3.3.25 将矩阵中非零元素构成列向量nonzeros( ) 87
3.3.26 计算矩阵非零元素分配的存储空间数nzmax( ) 88
3.4 线性方程组求解 88
3.4.1 求解具有唯一解的矩阵方程组 88
3.4.2 求具有无穷解的矩阵方程组的通解和特解 89
3.4.3 利用广义逆求无解方程的近似最小二乘解 90
3.4.4 利用LU分解求方程组的解 91
3.4.5 利用QR分解求方程组的解 92
3.4.6 利用LQ解法解线性方程组 93
3.5 稀疏矩阵相关函数 94
3.5.1 生成稀疏矩阵sparse ( ) 94
3.5.2 生成对角稀疏矩阵spdiags( ) 95
3.5.3 生成单位稀疏矩阵speye( ) 95
3.5.4 生成均匀分布随机稀疏矩阵sprand( ) 95
3.5.5 生成正态分布随机稀疏矩阵sprandn( ) 96
3.5.6 生成随机对称稀疏矩阵sprandsym( ) 97
3.5.7 稀疏矩阵非零元素的索引find( ) 97
3.5.8 将稀疏矩阵转化为满矩阵full( ) 98
3.6 小结 98
第4章 数值计算函数 99
4.1 函数极值 99
4.1.1 一元函数的极小值fminbnd( ) 99
4.1.2 多元函数的极小值fminsearch( ) 100
4.2 函数插值 102
4.2.1 一维插值interp1( ) 102
4.2.2 二维插值interp2( ) 103
4.3 曲线拟合polyfit( ) 104
4.4 多项式及其操作 104
4.4.1 创建多项式poly2sym( ) 105
4.4.2 求多项式的根roots( ) 105
4.4.3 导数polyder( ) 105
4.4.4 估值polyval( ) 106
4.4.5 有理多项式residue( ) 106
4.5 函数积分 107
4.5.1 一元函数数值积分trapz( ) 107
4.5.2 多重数值积分 108
4.6 函数微分 108
4.6.1 数值微分diff( ) 109
4.6.2 近似梯度graidient( ) 109
4.7 常微分方程 109
4.8 小结 110
第5章 概率统计函数 111
5.1 随机数生成 111
5.1.1 生成分布随机数betarnd( ) 111
5.1.2 生成偏t分布随机数函数nctrnd( ) 112
5.1.3 生成二项分布随机数binornd( ) 112
5.1.4 生成正态分布随机数函数normrnd( ) 113
5.1.5 生成卡方分布随机数函数chi2rnd( ) 114
5.1.6 生成泊松分布随机数函数poissrnd( ) 114
5.1.7 生成指数分布随机数函数exprnd() 114
5.1.8 生成F分布随机数函数frnd( ) 115
5.1.9 生成对数正态分布随机数函数lognrnd( ) 115
5.1.10 生成几何分布随机数函数geornd( ) 116
5.1.11 生成t分布随机数函数trnd( ) 116
5.1.12 生成离散均匀分布随机数函数unidrnd( ) 117
5.1.13 生成连续均匀分布随机数函数unifrnd( ) 117
5.1.14 生成Weibull分布随机数函数wblrnd( ) 118
5.1.15 生成指定分布随机数函数random( ) 118
5.2 均值与方差 119
5.2.1 计算分布的均值和方差函数betastat( ) 120
5.2.2 常用分布的均值与方差计算函数 120
5.3 统计特征函数 122
5.3.1 相关系数corrcoef( ) 122
5.3.2 协方差矩阵cov( ) 123
5.3.3 峰度kurtosis( ) 123
5.3.4 偏度skewness( ) 124
5.3.5 几何平均数geomean( ) 124
5.3.6 调和均值harmmean( ) 125
5.3.7 截尾均值trimmean( ) 125
5.3.8 平均绝对偏差mad( ) 126
5.3.9 百分位数prctile( ) 126
5.4 假设检验 127
5.4.1 秩和检验ranksum( ) 127
5.4.2 符号秩检验signrank( ) 128
5.4.3 符号检验signtest( ) 129
5.4.4 样本均值的t检验ttest( ) 130
5.4.5 两个样本均值的t检验ttest2( ) 131
5.4.6 z检验ztest( ) 132
5.5 线性与非线性回归 133
5.5.1 单因素方差分析anova1( ) 133
5.5.2 双因素方差分析anova2( ) 135
5.5.3 多项式预测和置信区间评估polyconf( ) 136
5.5.4 多项式曲线拟合polyfit( ) 137
5.5.5 非线性最小二乘拟合nlinfit( ) 138
5.5.6 非线性方程拟合nlintool( ) 139
5.5.7 多项式评估polyval( ) 140
5.5.8 多重线性回归regress( ) 140
5.6 参数估计 141
5.6.1 分布数据的参数估计betafit( ) 141
5.6.2 负分布对数似然函数betalike( ) 142
5.6.3 指数分布数据参数估计expfit( ) 142
5.6.4 负指数分布对数似然函数explike( ) 143
5.6.5 正态分布数据参数估计normfit( ) 143
5.6.6 负正态分布对数似然函数normlike( ) 144
5.6.7 泊松分布数据参数估计poissfit( ) 144
5.6.8 均匀分布数据参数估计unifit( ) 145
5.6.9 Weibull分布数据参数估计wblfit( ) 146
5.7 小结 146
第6章 图形及图像处理函数 147
6.1 二维图形绘制 147
6.1.1 plot函数 147
6.1.2 线型、标记和颜色 148
6.1.3 图形坐标轴设置 149
6.1.4 多个图形叠绘及多个图形窗口 150
6.1.5 绘制子图 152
6.1.6 交互式绘图和屏幕刷新 154
6.1.7 绘制双坐标轴 155
6.2 三维图形绘制 155
6.2.1 绘制二元函数的网格图 156
6.2.2 绘制曲线图 156
6.2.3 绘制网格图 157
6.2.4 绘制曲面图 158
6.2.5 绘制等高线 159
6.3 特殊图形绘制 160
6.3.1 绘制区域图 160
6.3.2 绘制饼图 161
6.3.3 绘制直方图和梯形图 162
6.3.4 绘制矢量分布图 163
6.3.5 绘制伪色彩图 165
6.3.6 绘制极坐标图 166
6.3.7 绘制误差线图形 166
6.3.8 绘制离散数据图形 167
6.4 图形处理 169
6.4.1 图形标注 169
6.4.2 坐标轴的控制 169
6.4.3 图形数据取点 171
6.4.4 图形保持 172
6.4.5 图形的打印和输出 172
6.5 图形句柄函数 173
6.6 图像处理工具箱概述 173
6.6.1 常用图像格式 174
6.6.2 MATLAB 7.X图像类型和转换 174
6.7 图像文件的操作 176
6.7.1 图像文件显示 177
6.7.2 图像文件读写 177
6.7.3 图像格式转换 179
6.8 图像增强 179
6.8.1 对比度增强 179
6.8.2 直方图均衡化180
6.8.3 空域滤波增强 181
6.9 小结 182
第7章 符号计算函数 183
7.1 符号工具箱函数 183
7.2 符号表达式运算 185
7.2.1 提取分子和分母numden( ) 185
7.2.2 标准代数运算 185
7.2.3 变换函数 186
7.2.4 高级运算 189
7.2.5 变量替换subs( ) 191
7.2.6 微分和积分 192
7.3 符号表达式化简和格式化 193
7.3.1 表达式化简simplify( ) 193
7.3.2 多种简化形式simple( ) 194
7.3.3 合并同类项并给出降幂排列形式collect( ) 194
7.3.4 将降幂排列的多项式转化成嵌套形式honer( ) 195
7.3.5 以有理分式等形式显示符号表达式pretty( ) 195
7.3.6 对表达式进行因式分解factor( ) 196
7.3.7 展开表达式并给出降幂排列形式expand( ) 196
7.4 符号矩阵 197
7.4.1 创建符号矩阵 197
7.4.2 操作符号矩阵 198
7.5 符号绘图函数 201
7.5.1 绘制符号函数的图形ezplot( ) 201
7.5.2 绘制三维曲线图ezplot3( ) 202
7.5.3 绘制符号函数的等高线图ezcontour( ) 202
7.5.4 绘制极坐标图ezpolar( ) 203
7.5.5 绘制用不同颜色填充的等高线图ezcontourf( ) 205
7.5.6 绘制符号函数的三维网格图ezmesh( ) 206
7.5.7 同时绘制网格图与等高线图ezmeshc( ) 207
7.5.8 绘制三维彩色曲面图ezsurf( ) 208
7.5.9 同时绘制曲面图与等高线图ezsurfc( ) 209
7.6 符号方程求解 210
7.6.1 代数方程的符号解析解 210
7.6.2 求解常微分方程 211
7.7 小结 211
第8章 图形用户界面开发函数 212
8.1 图形用户界面概述 212
8.1.1 创建图形用户界面的目的 212
8.1.2 GUI对象层次结构 212
8.2 对话框生成 213
8.2.1 创建通用对话框dialog( ) 213
8.2.2 创建帮助对话框helpdlg( ) 214
8.2.3 创建错误提示对话框errordlg( ) 214
8.2.4 显示等待对话框waitbar( ) 215
8.2.5 创建警告对话框warndlg( ) 216
8.2.6 创建输入对话框inputdlg( ) 217
8.2.7 创建设计提问对话框questdlg( ) 218
8.2.8 创建页面设置对话框printpreview( ) 219
8.2.9 创建选择列表内容对话框listdlg( ) 219
8.2.10 创建保存文件的标准对话框uiputfile( ) 221
8.2.11 创建打印对话框printdlg( ) 222
8.2.12 创建选定目录的标准对话框uigetdir( ) 222
8.2.13 创建颜色设置对话框uisetcolor( ) 223
8.2.14 创建消息对话框msgbox( ) 224
8.3 图形用户界面开发 225
8.3.1 启动GUI界面编辑器guide( ) 225
8.3.2 创建菜单menu( ) 226
8.3.3 创建上下文菜单uicontextmenu( ) 226
8.3.4 创建用户菜单uimenu( ) 228
8.3.5 创建用户界面控件对象uicontrol( ) 229
8.3.6 交互式操作获取文件名uigetfile( ) 230
8.3.7 交互式修改对象的字体uisetfont( ) 231
8.3.8 显示属性检查器inspect( ) 231
8.3.9 获取应用程序定义的数据值getappdata( ) 232
8.3.10 设定应用程序定义的数据值setappdata( ) 233
8.3.11 鼠标或指针的数据输入ginput( ) 233
8.3.12 创建句柄的一个结构guihandles( ) 233
8.3.13 存储或重新获取应用数据guidata( ) 234
8.4 其他相关函数 234
8.4.1 设置对象属性set( ) 234
8.4.2 获得对象属性get( ) 235
8.4.3 返回当前图形句柄gcf( ) 235
8.4.4 建立图形窗口figure( ) 236
8.4.5 停止程序执行uiwait( ) 236
8.4.6 恢复程序执行uiresume( ) 236
8.4.7 等待按键或鼠标被按下waitforbuttonpress( ) 236
8.4.8 查找图形对象的句柄findall( ) 237
8.4.9 查找特定属性的图形对象的句柄findobj( ) 237
8.4.10 获得当前程序图形对象的父对象的句柄gcbf( ) 238
8.4.11 获得当前程序图形对象的句柄gcbo( ) 238
8.4.12 拖动鼠标绘制长方形dragrect( ) 238
8.4.13 操作和控制图形对象selectmoveresize( ) 239
8.5 小结 240
第9章 Simulink仿真函数 241
9.1 Simulink概述 241
9.1.1 Simulink建模方法 241
9.1.2 模块库浏览器241
9.1.3 Simulink模型窗口 242
9.2 Simulink基本操作命令 243
9.2.1 启动模块库浏览器Simulink命令 243
9.2.2 加载指定的仿真系统load_system命令 243
9.2.3 查找指定的仿真系统find_system命令 244
9.2.4 打开仿真系统open_system命令 245
9.2.5 设置仿真系统的参数set_param命令 247
9.2.6 获取仿真系统的参数get_param命令 247
9.2.7 获取系统的句柄和名称gcbh命令 248
9.2.8 获取当前系统或模块的名称gcs命令 249
9.2.9 关闭正在运行的仿真系统窗口bdclose命令 249
9.2.10 更新系统模块slupdate命令 250
9.2.11 查看帮助信息slhelp命令 250
9.3 Simulink仿真 251
9.3.1 获取仿真系统的信息simget命令 251
9.3.2 设置仿真参数simset命令 252
9.3.3 开始进行仿真sim命令 253
9.3.4 模型线性化linmod命令 254
9.3.5 求系统的平衡点trim命令 255
9.4 小结 256
第10章 控制系统设计函数 257
10.1 系统时间响应及其仿真 257
10.1.1 系统时间响应的基本概念 257
10.1.2 仿真算法 257
10.1.3 MATLAB系统仿真258
10.2 系统频率响应及其仿真 266
10.2.1 频率特性和频率响应的基本概念 266
10.2.2 频率响应 268
10.2.3 系统分析图形用户界面 271
10.3 控制系统的综合与校正 273
10.3.1 系统综合与校正的概念 273
10.3.2 系统综合与校正实例 274
10.4 小结 275
第11章 信号处理函数 276
11.1 信号处理概述 276
11.2 常用信号的产生 276
11.2.1 生成三角波信号 276
11.2.2 生成单位阶跃信号 277
11.2.3 产生单位冲击信号 277
11.2.4 生成锯齿波信号 278
11.2.5 生成sinc信号 279
11.2.6 生成扫频信号 280
11.2.7 生成离散信号 281
11.3 信号的时域分析 281
11.3.1 计算信号均值mean( ) 281
11.3.2 计算信号标准差std( ) 282
11.3.3 计算卷积conv( ) 282
11.3.4 计算协方差cov( ) 283
11.3.5 估计信号相关性xcorr( ) 284
11.3.6 快速傅里叶变换和反变换函数fft( )和ifft( ) 285
11.3.7 希尔伯特变换hilbert( ) 286
11.3.8 Z反变换residuez( ) 287
11.4 滤波器的分析和设计 288
11.4.1 计算幅值abs( ) 288
11.4.2 计算相位角angle( ) 288
11.4.3 设置频率响应的频率间隔freqspace( ) 289
11.4.4 模拟滤波器的频率响应freqs( ) 289
11.4.5 数字滤波器的频率响应freqz( ) 290
11.4.6 计算滤波器的群延迟grpdelay( ) 291
11.4.7 计算数字滤波器的冲击响应impz( ) 292
11.4.8 相位角的展开函数unwrap( ) 293
11.4.9 设计1-D数字滤波器filter( ) 294
11.4.10 零相位数字滤波filtfilt( ) 295
11.4.11 基于FFT的FIR滤波fftfilt( ) 295
11.4.12 ChebyshevⅠ型模拟滤波器cheb1ap( ) 296
11.4.13 Chebyshev Ⅱ型模拟滤波器cheb2ap( ) 297
11.4.14 Chebyshev Ⅰ型滤波器cheby1( ) 297
11.4.15 Chebyshev Ⅱ型滤波器cheby2( ) 298
11.4.16 Bessel低通滤波器besselap( ) 300
11.4.17 模拟滤波器转化为数字滤波器impinvar( ) 300
11.4.18 椭圆滤波器ellip( ) 301
11.4.19 FIR滤波器fir1( ) 302
11.4.20 设计FIR滤波器fir2( ) 303
11.5 小结 304
第12章 神经网络应用函数 305
12.1 神经网络概述 305
12.1.1 神经网络的发展和应用 305
12.1.2 神经网络模型306
12.1.3 神经网络工具箱通用函数 306
12.2 感知器 308
12.2.1 感知器神经网络模型结构 308
12.2.2 设计感知器神经网络 310
12.3 线性神经网络 312
12.3.1 线性神经网络模型结构 312
12.3.2 设计线性神经网络 313
12.4 BP网络 314
12.4.1 BP网络模型结构 314
12.4.2 设计BP网络 314
12.5 反馈型神经网络 322
12.5.1 Hopfield网络设计 322
12.5.2 Elman网络设计 324
12.6 小结 326
第13章 最优化设计函数 327
13.1 MATLAB优化工具箱 327
13.1.1 工具箱概述 327
13.1.2 工具箱函数介绍 327
13.1.3 可视化GUI工具箱 335
13.2 小结 337
第14章 小波变换函数 338
14.1 概述 338
14.2 一维连续小波变换338
14.2.1 一维连续小波变换cwt( ) 339
14.2.2 从一个原始图样中构建一个小波函数pat2cwav( ) 340
14.3 一维离散小波变换341
14.3.1 单尺度一维小波离散变换dwt ( ) 341
14.3.2 离散小波变换拓展模式dwtmode( ) 343
14.3.3 单尺度一维离散小波逆变换idwt( ) 344
14.3.4 多尺度一维小波分解wavedec( ) 345
14.3.5 提取一维小波变换低频系数appcoef( ) 346
14.3.6 提取一维小波变换高频系数detcoef ( ) 347
14.3.7 重构多尺度一维小波waverec( ) 348
14.3.8 对小波分解结构进行单尺度重构upwlev( ) 348
14.3.9 对小波分解结构进行单支重构wrcoef( ) 349
14.3.10 重构一维系数的直接小波upcoef( ) 350
14.4 二维离散小波变换 351
14.4.1 单尺度二维离散小波变换dwt2( ) 352
14.4.2 多尺度二维离散小波分解wavedec2( ) 353
14.4.3 重构多尺度二维小波waverec2( ) 354
14.4.4 提取二维小波分解低频系数appcoef2( ) 354
14.4.5 提取二维小波分解高频系数detcoef2( ) 356
14.4.6 二维小波分解的单尺度重构upwlev2( ) 357
14.4.7 重构二维小波系数的单支wrcoef2( ) 358
14.4.8 二维小波分解的直接重构upcoef2( ) 359
14.5 小结 360
参考文献 361