【书名】完全手册-MATLAB使用详解:基础、开发及工程应用
【作者】董霖 编著
【ISBN】978-7-121-07397-7
【出版社】电子工业出版社
【出版日期】2009年1月
【内容简介】
MATLAB之所以能够如此流行,一方面是由于其强大的数值计算能力、图形功能和丰富的工具箱,另一方面是由于MATLAB语言的简洁性、更加符合工程应用的思维习惯。
本书编著时兼顾上述两方面的特点,内容主要针对MATLAB 7.0,这是MATLAB当前最流行的版本。全书大致可以分为七篇,分别讲述MATLAB基础、MATLAB中的矩阵运算、MATLAB数据分析、MATLAB图形、MATLAB程序设计、SIMULINK和MATLAB常见工具箱。本书对每个知识点做到了逐点实例讲解,并在解决实际问题时溶入了工程实践的经验。
【宣传语】
全书500多个实例、全部来源于作者的实际工作和具体应用
讲解知识点采用图、表、例等多种形式
详细介绍SIMULINK仿真与GUI界面设计等工程应用重要环节
介绍了小波分析、信号处理、图像处理等工具箱的使用方法
【前言】
“当我在学习MATLAB时,需要怎样的一本书?”
这是作者写作本书时始终问自己的一个问题。时至今日,MATLAB以其强大的数值计算能力、卓越的数据可视化功能、丰富的工具箱、开放性的程序接口、简洁的程序语言风格使其成为每个工程科学研究人员必须掌握的开发利器。而要真正掌握并得心应手地运用MATLAB,并不是件容易的事情。作者在开始学习和使用MATLAB时就遇到了不少困难,走了不少弯路。正是这些经验教训让作者明确了写作本书的以下三个出发点。
从初学者的角度出发,循序渐进地安排内容结构和知识点分布。
从使用者的角度出发,阐明MATLAB的使用方法和经验技巧。
从工程人员的角度出发,讲述有代表性的实例并讲透整个开发流程。
本书的特点
好学
全书及各章的内容体系安排遵循作者亲身学习和使用的经验,先易后难,循序渐进。对新版本与旧版本的不同之处进行了特别说明。重视基本概念和基本知识的讲解。
全面
本书内容全面,涵盖面广,难易结合,适合于各个层次的科学工作者和工程技术人员使用。
实用
本书采用了大量的实例,所有实例都具有较强的代表性,很多实例都有直接的工程应用背景,并附有源代码。
精讲
对实例进行了详细的讲解,并对可存在疑问的地方给出说明和提示。讲解知识点时注意采用图、表、例等多种形式的搭配。在讲解MATLAB各种功能时,都介绍功能的核心原理和机制,让读者能够知其然、更知其所以然。
细致
在介绍SIMULINK仿真功能的时候,结合实际工程模型,从建模到设置方程,使用SIMULINK进行仿真设置,得出结果。让读者清楚地了解如何使用MATLAB解决实际问题。在介绍GUI应用开发应用案例的时候,从分析用户需求到设计GUI界面、添加对应的程序代码、发布程序、得出结果,让读者对GUI开发流程有深刻的理解。
本书的内容安排
本书内容分为七篇,MATLAB基础、MATLAB中的矩阵运算、MATLAB数据分析、MATLAB图形、MATLAB程序设计、SIMULINK和MATLAB常见工具箱,共26章,涉及MATLAB的安装与卸载、界面操作、基本入门、数值计算、图形、程序设计、外部接口和工具箱等,各章内容如下。
第1章首先简要介绍MATLAB 7.0对硬件设备、操作系统的要求,随后对MATLAB 7.0的安装和卸载过程做详细介绍。
第2章介绍MATLAB界面环境,主要包括开始按钮、菜单栏、工具栏、命令窗口、历史窗口、工作区间窗口、当前路径窗口、数据编辑窗口、M文件编辑窗口、MATLAB路径设置和MATLAB帮助系统。
第3章是MATLAB基础入门,介绍MATLAB的基本语法,并引入一个简单示例,通过示例使读者对MATLAB有一个感性认识。
第4章MATLAB矩阵和数组,介绍MATLAB基本运算单位——矩阵和数组的创建、寻访等操作。
第5章MATLAB数据类型,介绍MATLAB数据类型的体系结构和几种基本的数据类型,如数值类型、逻辑类型和字符串类型。
第6章介绍MATLAB的两种高级数据类型:元胞和构架。
第7章矩阵分析,介绍矩阵的基本运算、代数运算及稀疏矩阵相应的操作和运算。
第8章函数分析,介绍MATLAB中函数的表示、函数零点、函数数值微分、数值积分计算、函数的最优化和函数的图形可视化。
第9章数据分析,介绍如何利用MATLAB对数据做排序分析、均值方差分析和统计分析。
第10章讨论MATLAB数值计算的一些高级主题,如多项式、常微分方程、插值拟合、回归分析和傅里叶分析。
第11章介绍MATLAB的符号计算功能,主要包括符号对象的创建和转换、符号矩阵的运算、符号微积分和符号方程求解等内容。
第12章介绍MATLAB的二维图形功能,主要为各类典型二维图形的绘制、动画效果的制作等。
第13章介绍MATLAB的三维图形功能,主要内容为各类典型三维图形的绘制和高维图形的可视化方法。
第14章图形对象和句柄,介绍MATLAB的图形对象体系结构、两种主要图形对象(窗口和轴)的属性及其相关操作、句柄的概念及相关操作。
第15章程序设计,详细介绍MATLAB的各种语法、变量及变量空间、M文件程序设计等。
第16章讨论MATLAB程序的调试、性能优化和出错处理机制。
第17章讨论MATLAB图形用户界面程序设计的基本原则、操作步骤,重点是利用GUIDE创建用户界面程序的方法和回调函数的设计。
第18章介绍MATLAB的各种I/O操作,如文本文件读写、二进制文件读写、图像文件读写等。
第19章首先简要介绍MATLAB 7.0编译器的主要功能、基本原理、安装和配置,随后详细讨论如何利用MATLAB编译器将M文件转换为独立可执行的应用程序和共享函数库。
第20章MATLAB外部应用程序接口,介绍MATLAB与C/FORTRAN的数据接口(mxArray数据结构和mx函数)、C/FORTRAN MEX文件、MATLAB引擎应用程序、C读写MAT文件应用程序。
第21章介绍如何利用Notebook展示MATLAB应用程序。
第22章介绍MATLAB SIMULINK工具箱的入门知识,主要是SIMULINK的基本原理、基本操作、常用的模型库、仿真初步等。
第23章介绍MATLAB SIMULINK工具箱的高级技术,讨论Scope、积分器、代数环的实现,还介绍了SIMULINK子系统及其封装、调试、S-函数等。
第24章MATLAB的图像处理工具箱,首先简要介绍数字图像的基本概念、基本操作,然后在此基础上依次讲述图像的灰度变换、代数运算、几何运算、图像滤波等。
第25章MATLAB信号处理工具箱,首先介绍MATLAB中信号的表示,然后在此基础上讨论窗函数、滤波器的设计实现,最后介绍随机信号处理和谱分析。
第26章MATLAB小波分析工具箱,首先简要介绍小波分析的基本概念,然后详细讨论小波变换、反变换及其在信号去噪中的应用。
适合阅读本书的读者
科学研究人员
工程技术人员
经济学专业研究生
电子、信息类专业研究生
希望了解C、FORTRAN与MATLAB混合编程的程序设计人员
机械、自动化专业研究生
编 者
2008年4月于北京
【目录】
第一篇 MATLAB基础
第1章 MATLAB7.0安装与卸载 2
MATLAB7.0可以在多种系统环境下运行,包括Windows、UNIX及Mac OS X等,但在不同平台上的安装方法不同。
1.1 MATLAB7.0安装准备 2
1.2 MATLAB7.0安装过程 3
1.3 MATLAB7.0卸载 4
1.4 小结 5
第2章 MATLAB7.0用户界面 6
主要介绍MATLAB7.0用户界面的开始按钮、菜单栏、工具栏和各交互界面的功能及如何对用户界面的各部分进行操作。
2.1 开始按钮 6
2.2 菜单栏 7
2.2.1 使用【File】子菜单 7
2.2.2 使用其他子菜单 8
2.2.3 切换菜单栏 9
2.3 工具栏 9
2.4 用户界面中的窗口 10
2.4.1 命令窗口(Command Window) 10
2.4.2 历史窗口(History Window) 11
2.4.3 工作空间窗口(Workspace Window) 12
2.4.4 数组编辑窗口 13
2.5 MATLAB路径设置 13
2.5.1 当前目录窗口 14
2.5.2 搜索路径及其设置 16
2.6 MATLAB7.0帮助系统 18
2.6.1 命令窗口帮助 18
2.6.2 导航浏览交互界面帮助 19
2.7 小结 24
第3章 MATLAB7.0入门 25
MATLAB作为一种功能强大的工程应用软件,其主要功能包括数值计算、数据可视化、符号计算等。
3.1 基本数值计算 25
3.1.1 使用基本数值计算功能 25
3.1.2 MATLAB常用标点 26
3.2 矩阵处理 27
3.2.1 操作矩阵 27
3.2.2 分辨矩阵和数组 28
3.3 数据可视化 29
3.4 程序设计功能 30
3.5 小结 30
第二篇 MATLAB中的矩阵运算
第4章 MATLAB7.0的矩阵和数组 32
主要介绍MATLAB的矩阵和数组的基本结构及相关操作,包括矩阵的创建、拼接、变形、元素的寻访、获取信息,以及各种特殊矩阵及高维数组的相关内容。
4.1 创建矩阵 32
4.1.1 输入元素创建简单矩阵 32
4.1.2 调用函数创建特殊矩阵 33
4.2 拼接矩阵 35
4.2.1 基本拼接 35
4.2.2 拼接函数 36
4.3 改变矩阵尺寸 37
4.3.1 扩大矩阵的尺寸 38
4.3.2 缩小矩阵的尺寸 38
4.4 改变矩阵形状 39
4.5 向量、标量与空矩阵 40
4.5.1 向量 40
4.5.2 标量 42
4.5.3 空矩阵 42
4.6 矩阵寻访 44
4.6.1 下标转换 44
4.6.2 访问单元素 45
4.6.3 访问多元素 46
4.7 获取矩阵信息 47
4.7.1 获取矩阵元素的数据类型 47
4.7.2 获取矩阵的数据结构 48
4.7.3 获取矩阵的尺寸信息 49
4.8 高维数组 50
4.8.1 高维数组的创建 50
4.8.2 访问高维数组的信息 53
4.8.3 高维数组操作函数 53
4.9 小结 55
第5章 MATLAB7.0的数据类型 56
MATLAB7.0支持15种基本的数据类型,每种类型的数据都可以以矩阵或数组的形式存储和操作,其中最重要的3种是数值类型、逻辑类型和字符串类型。
5.1 MATLAB中的数据类型 56
5.2 数值类型 56
5.2.1 整数类型 57
5.2.2 单精度浮点型 59
5.2.3 双精度浮点类型 60
5.2.4 复数 61
5.2.5 无穷 62
5.2.6 非数 63
5.3 逻辑类型 64
5.3.1 逻辑类型 64
5.3.2 关系运算符 66
5.3.3 逻辑运算符 68
5.3.4 运算符的优先级 71
5.4 字符与字符串 72
5.4.1 字符数组的建立 73
5.4.2 字符串的比较 74
5.4.3 字符串的查找与替换 76
5.4.4 字符串与数值类型的互相转换 76
5.5 小结 77
第6章 元胞和构架 78
元胞(Cell)和构架(Structure)是MATLAB 7.0的15种数据类型中较为特殊的两种。元胞和构架的表现形式分别是元胞数组(Cell Array)和构架数组(Structure Array)。
6.1 元胞 78
6.1.1 直接创建元胞数组 78
6.1.2 调用函数生成元胞数组 79
6.1.3 元胞数组的扩容、删减和重置 80
6.1.4 访问元胞数组内容 81
6.1.5 嵌套元胞数组 83
6.1.6 字符串元胞数组 85
6.2 构架 85
6.2.1 创建构架数组 85
6.2.2 访问构架数组元素 87
6.3 小结 88
第7章 矩阵分析 89
主要讨论有关矩阵基本运算、矩阵特征量、矩阵分解、矩阵函数和稀疏矩阵的问题。
7.1 MATLAB数值计算中的矩阵 89
7.1.1 MATLAB中的矩阵 89
7.1.2 求解线性代数方程 90
7.1.3 最大(小)值 90
7.2 矩阵基本运算 90
7.2.1 矩阵的加、减 90
7.2.2 矩阵乘法 92
7.2.3 矩阵除法 94
7.2.4 矩阵的幂 96
7.2.5 矩阵按位运算 97
7.2.6 关系运算 101
7.3 矩阵特征量 104
7.3.1 矩阵的行列式 104
7.3.2 矩阵的逆 105
7.3.3 矩阵的范数 106
7.3.4 矩阵的条件数 108
7.3.5 矩阵的秩 110
7.4 矩阵分解 112
7.4.1 特征分解 113
7.4.2 Schur分解 115
7.4.3 Cholesky分解 116
7.4.4 LU分解 117
7.4.5 QR分解 119
7.4.6 SVD分解 120
7.5 矩阵函数 122
7.5.1 矩阵函数的概念 123
7.5.2 常用矩阵函数 123
7.5.3 自定义矩阵函数 125
7.6 稀疏矩阵 126
7.6.1 稀疏矩阵与全矩阵 126
7.6.2 创建稀疏矩阵 127
7.6.3 稀疏矩阵操作 130
7.6.4 稀疏矩阵的运算 134
7.7 小结 138
第三篇 MATLAB数据分析
第8章 函数分析 140
介绍如何利用MATLAB分析函数的性质。
8.1 函数的表示 140
8.2 函数的零点 142
8.3 函数微分 145
8.4 函数积分 148
8.4.1 单重数值积分 148
8.4.2 多重数值积分 150
8.5 函数最优化 152
8.6 函数可视化 155
8.7 小结 159
第9章 数据分析 160
介绍如何利用MATLAB进行数据分析。
9.1 最大(小)值、中位数 160
9.2 排序 163
9.3 分位数 166
9.4 求和(积)、差分 167
9.4.1 求和 167
9.4.2 求积 168
9.4.3 求累计和、积和差分 169
9.5 均值和方差 170
9.6 数据预处理 173
9.6.1 处理缺失数据 173
9.6.2 处理奇异值 174
9.7 统计分析 175
9.7.1 关于数学符号的说明 175
9.7.2 几种重要的概率分布 176
9.7.3 生成随机数 177
9.7.4 数据直方图分析 181
9.7.5 数据统计函数 183
9.8 小结 186
第10章 高级数值计算 187
讨论数值计算的一些高级主题,如数据插值、回归分析、微分方程求解等。
10.1 多项式 187
10.1.1 多项式表示 187
10.1.2 矩阵的特征多项式 187
10.1.3 求多项式的值 188
10.1.4 求多项式的根 190
10.1.5 多项式卷积和反卷积 191
10.1.6 多项式微积分 191
10.1.7 有理式的部分展开 193
10.2 插值 194
10.2.1 一维插值 195
10.2.2 二维插值 197
10.2.3 高维插值 199
10.2.4 样条插值 200
10.2.5 插值方法比较 202
10.3 回归分析 205
10.3.1 线性回归分析 206
10.3.2 多项式回归分析 207
10.3.3 多分量回归分析 208
10.4 曲线拟合 209
10.4.1 多项式拟合 209
10.4.2 指数函数拟合 210
10.4.3 交互式曲线拟合工具 211
10.5 傅里叶分析 213
10.5.1 快速傅里叶变换(FFT)、逆快速傅里叶变换(IFFT) 214
10.5.2 FFT的幅度和相位 215
10.5.3 傅里叶分析的应用例子 217
10.6 常微分方程 218
10.6.1 一阶常微分方程 218
10.6.2 ODE函数的选择 222
10.6.3 高阶常微分方程 224
10.7 小结 225
第11章 符号计算 226
MATLAB的符号计算功能非常强大,在大规模的简单公式推导、逻辑推导等应用中有重要应用。
11.1 符号类型与数值类型 226
11.2 符号对象及其创建 227
11.2.1 创建符号变量 227
11.2.2 创建符号表达式 229
11.2.3 符号对象与数值的转换 230
11.3 符号函数 233
11.3.1 创建符号函数 233
11.3.2 复合函数 234
11.3.3 反函数 235
11.3.4 特殊符号函数 236
11.4 符号表达式的复合和化简 237
11.4.1 显示符号表达式 237
11.4.2 展开、分解及化简符号表达式 237
11.4.3 符号表达式替换 240
11.5 符号矩阵 242
11.5.1 创建符号矩阵 242
11.5.2 符号矩阵的代数运算 243
11.5.3 符号矩阵的逻辑运算 245
11.5.4 符号矩阵的行列式 246
11.5.5 符号矩阵的逆 247
11.5.6 符号矩阵的秩 248
11.5.7 符号矩阵的特征分解 248
11.5.8 符号矩阵的SVD分解 251
11.6 符号微积分 254
11.6.1 极限 254
11.6.2 微分 256
11.6.3 积分 258
11.6.4 Taylor展开 260
11.6.5 级数求和 261
11.7 符号方程求解 262
11.7.1 一般代数方程 263
11.7.2 线性代数方程组 265
11.7.3 符号常微分方程 267
11.8 小结 270
第四篇 MATLAB图形
第12章 二维图形 272
介绍MATLAB的二维图形绘制,例如:MATLAB7.0图形窗口、二维图形的绘制,二维图形的编辑,以及特殊二维图形的绘制和编辑。
12.1 绘制二维图形 272
12.1.1 二维图形绘图步骤 272
12.1.2 绘制二维图形 274
12.1.3 快速绘图函数 276
12.1.4 绘制子图 278
12.1.5 图形叠绘 282
12.1.6 绘制双Y轴图形 284
12.1.7 交互式绘图函数 286
12.2 编辑二维图形 290
12.2.1 设置图形线型、数据点型和颜色 290
12.2.2 设置坐标轴区间 293
12.2.3 设置图形网格和坐标轴外框 295
12.2.4 注释图形 296
12.3 绘制和编辑特殊图形 298
12.3.1 绘制编辑条形图 299
12.3.2 绘制编辑区域图 302
12.3.3 绘制编辑饼状图 303
12.3.4 绘制编辑柱状图 305
12.3.5 绘制编辑离散数据点图形 306
12.3.6 绘制编辑罗盘图 308
12.3.7 绘制编辑羽毛图 309
12.3.8 绘制编辑轮廓图 310
12.3.9 绘制编辑箭头图 312
12.4 小结 313
第13章 三维图形 314
介绍用户常用的三维曲线、网格和曲面图,以及这些三维图形的绘制方法。
13.1 三维图形绘制 314
13.1.1 基本绘制函数——plot3函数 314
13.1.2 绘制三维网格——mesh函数 315
13.1.3 绘制三维曲面——surf函数 317
13.2 三维图形编辑 319
13.2.1 色彩处理 319
13.2.2 光源设置 322
13.2.3 视角控制 323
13.3 高维可视化 324
13.4 小结 325
第14章 图形对象和句柄 326
介绍MATLAB图形对象的相关概念和体系结构,MATLAB中需要通过句柄访问和控制的图形对象,以及M文件内句柄的存储及内建函数对句柄的操作。
14.1 图形对象概述 326
14.1.1 图形对象的体系结构 326
14.1.2 图形对象的类型 327
14.1.3 MATLAB中对象的属性 329
14.2 访问对象句柄 329
14.2.1 获取当前对象的句柄 330
14.2.2 调用findobj函数通过属性值查询对象 331
14.2.3 使用句柄操作对象 331
14.3 设置和访问MATLAB对象属性 333
14.3.1 设置属性值 333
14.3.2 查询属性值 334
14.3.3 默认属性 335
14.4 图形窗口对象 338
14.4.1 设置图形窗口的位置属性 338
14.4.2 设置图形窗口的色彩属性 339
14.4.3 图像窗口的绘制模式 340
14.4.4 定制图形窗口的光标 340
14.5 轴对象 341
14.5.1 设置轴对象的位置属性 341
14.5.2 设置轴对象的刻度、刻度标记及坐标轴方向属性 341
14.5.3 轴对象的多轴重叠 344
14.5.4 轴对象的自动模式属性 345
14.6 控制图形输出 345
14.6.1 定制图形输出的窗口 345
14.6.2 定制图形输出的轴 346
14.6.3 利用newPlot属性定制图形输出的重叠属性 346
14.7 M文件内对句柄的操作 347
14.8 小结 348
第五篇 MATLAB程序设计
第15章 MATLAB7.0程序设计 350
介绍M文件的特点和类型、变量、函数,以及MATLAB程序结构和设计控制指令等程序设计的基本内容。
15.1 M文件 350
15.1.1 M文件的结构 350
15.1.2 M文件分类 352
15.1.3 脚本文件 353
15.1.4 函数文件 355
15.1.5 P码文件 357
15.2 变量 359
15.2.1 命名变量 359
15.2.2 MATLAB特殊变量 360
15.2.3 MATLAB中关键字 361
15.2.4 不同类型的变量 362
15.2.5 变量检测函数 364
15.3 函数 364
15.3.1 匿名函数 365
15.3.2 主函数与子函数 365
15.3.3 嵌套函数 367
15.4 程序结构及流控制语句 368
15.4.1 顺序结构 369
15.4.2 循环结构——for语句 369
15.4.3 循环结构——while语句 371
15.4.4 分支结构——if语句 372
15.4.5 分支结构——switch语句 375
15.4.6 纠错结构——try-catch语句 377
15.4.7 跳出循环——continue语句 379
15.4.8 结束循环——break语句 381
15.5 交互控制指令 381
15.5.1 输入控制——input指令 381
15.5.2 键盘控制——keyboard指令 382
15.5.3 暂停执行——pause指令 382
15.5.4 终止操作——return指令 385
15.5.5 错误警告——warning指令 385
15.5.6 警告终止——error指令 386
15.5.7 指令查询——echo指令 387
15.6 小结 387
第16章 程序调试、优化和出错处理 388
介绍MATLAB程序优化应该遵循的原则及注意事项,以及MATLAB的性能分析工具。
16.1 调试 388
16.1.1 调试的基本任务 388
16.1.2 调试函数 391
16.1.3 MATLAB调试器 392
16.1.4 警告和错误 396
16.2 性能优化 397
16.2.1 性能分析 397
16.2.2 效率优化技术 400
16.2.3 内存优化技术 401
16.3 出错处理 401
16.3.1 Try-catch错误查询 402
16.3.2 错误处理 402
16.4 小结 404
第17章 图形用户界面(GUI) 405
介绍MATLAB的两种GUI 设计方式,即手工代码式和GUIDE式;并将GUI设计分为界面设计和程序设计两部分分别讨论;最后给出了一个综合的GUI设计实例。
17.1 两种GUI设计方式 405
17.1.1 GUI对象及层次结构 405
17.1.2 回调函数 406
17.1.3 手工代码式GUI程序 407
17.1.4 GUIDE式GUI程序 409
17.1.5 GUIDE界面环境 412
17.2 GUI界面设计 415
17.2.1 界面设计原则 415
17.2.2 窗口和轴 416
17.2.3 菜单 416
17.2.4 控件 419
17.3 GUI程序设计 420
17.3.1 GUI M文件结构 420
17.3.2 GUIDE的数据组织 421
17.3.3 设计回调函数 421
17.4 GUI应用实例 423
17.4.1 分析用户需求 423
17.4.2 设计GUI界面 423
17.4.3 设计GUI程序 427
17.4.4 GUI程序发布 428
17.5 小结 428
第18章 MATLAB文件I/O操作 429
介绍MATLAB文件的数据交换操作,即文件的I/O操作。
18.1 MATLAB可读取文件格式 429
18.2 高级文件I/O程序 430
18.2.1 LOAD/SAVE函数 430
18.2.2 UIGETFILE/UIPUTFILE函数 431
18.2.3 UIIMPORT/IMPORTDATA函数 432
18.2.4 TEXTREAD/STRREAD函数 434
18.3 低级文件I/O程序 435
18.3.1 FOPEN函数 435
18.3.2 FCLOSE函数 436
18.3.3 FWRITE函数 436
18.3.4 FREAD函数 437
18.3.5 FSCANF函数 438
18.3.6 FPRINTF函数 438
18.4 小结 438
第19章 MATLAB 7.0编译器 439
介绍MATLAB编译器的工作原理,编译器的功能和局限性,以及编译器的安装和设置中要注意的问题。
19.1 MATLAB编译器简介 439
19.1.1 MATLAB Compiler 4 439
19.1.2 MATLAB Compiler 4的功能和局限性 440
19.1.3 脚本文件与函数文件的转换 441
19.2 编译器的安装和设置 443
19.2.1 安装编译器 443
19.2.2 设置编译器 443
19.2.3 安装MCR 445
19.3 编译器使用入门 446
19.3.1 mcc编译指令 446
19.3.2 M文件编译 448
19.3.3 编译含绘图指令的M文件 451
19.4 由M文件创建独立可执行应用程序 453
19.5 由M文件创建函数库(DLL) 454
19.6 小结 458
第20章 应用程序接口 459
介绍MATLAB的C、FORTRN应用程序接口,如C/FORTRAN语言中的MATLAB数据结构mxArray;利用MEX文件调用C/FORTRAN函数;C/FORTRAN通过MATLAB引擎(Engine)调用MATLAB函数;创建能够读写MAT文件的C程序。
20.1 mxArray数据结构 459
20.1.1 MATLAB和C/FORTRAN中的数组 459
20.1.2 mxArray 460
20.1.3 mx函数 462
20.2 C/FORTRAN MEX 466
20.2.1 MEX文件简介 466
20.2.2 配置MEX 468
20.2.3 C MEX 469
20.2.4 FORTRAN MEX 471
20.3 MATLAB引擎 472
20.3.1 MATLAB引擎简介 473
20.3.2 MATLAB引擎函数 474
20.3.3 MATLAB引擎应用示例 475
20.4 C读写MAT文件 479
20.4.1 MAT文件 479
20.4.2 MAT函数 480
20.4.3 C读写MAT文件 481
20.5 小结 482
第21章 Notebook的运用 483
介绍MATLAB7.0中Notebook的一些基本应用方法,例如:Notebook的安装和启动、输入输出细胞、Notebook菜单选项,以及M-book的使用。
21.1 Notebook安装和启动 483
21.1.1 Notebook的安装 483
21.1.2 Notebook的启动 484
21.1.3 Notebook的初始化 486
21.2 细胞 486
21.2.1 输入细胞和输出细胞 486
21.2.2 自初始化细胞 489
21.3 【Notebook】菜单 490
21.3.1 【Define Calc Zone】——定义“计算区” 490
21.3.2 【Group Cells】——定义“细胞群” 492
21.3.3 【Toggle Graph Output for Cell】——细胞图形输出拨动控制开关 493
21.3.4 【Evaluate Loop】——细胞的循环运行 494
21.3.5 【Notebook Options】——输出细胞格式控制 495
21.4 Notebook使用注意问题 496
21.5 小结 496
第六篇 SIMULINK
第22章 SIMULINK入门 498
介绍一个集建模、仿真和分析动态系统为一体的SIMULINK软件,它还是一种基于MATLAB的图形设计环境。
22.1 SIMULINK基础 498
22.1.1 SIMULINK安装 498
22.1.2 SIMULINK启动 499
22.1.3 简单模型的建立 499
22.1.4 SIMULINK模型库浏览器简介 501
22.1.5 模型窗口菜单栏 502
22.1.6 模型窗口工具栏和状态栏 504
22.2 SIMULINK模型操作 505
22.2.1 注释模型 505
22.2.2 打印模型 506
22.2.3 生成模型报告 506
22.2.4 编辑打印边框 507
22.3 常用模型库 509
22.3.1 常用的Commonly Used Blocks子库 509
22.3.2 常用的Sourse子库 510
22.3.3 常用的Sink子库 510
22.4 模块操作 511
22.4.1 自动连接模块 511
22.4.2 手动连接模块 511
22.4.3 信号线的调整 512
22.4.4 变换模块方向 513
22.4.5 操作模块名称 513
22.4.6 设置模块参数 513
22.4.7 改变模块效果 515
22.5 信号的操作 515
22.5.1 信号的相关概念 515
22.5.2 信号的标量扩展 516
22.5.3 显示信号属性 517
22.5.4 信号标签 517
22.5.5 传递信号标签 518
22.6 仿真设置 518
22.6.1 仿真时间设置 519
22.6.2 仿真算法设置 519
22.6.3 仿真步长设置 521
22.6.4 误差容限设置 522
22.6.5 从基本工作区载入数据 522
22.6.6 保存输出结果到工作区 525
22.6.7 设置输出选项 526
22.7 连续系统模型实现 527
22.7.1 连续系统数学描述 527
22.7.2 连续系统模型实例 529
22.8 离散系统差分方程实现 530
22.8.1 差分方程的实现 530
22.8.2 指定采样时间 531
22.8.3 离散系统模型实例 532
22.9 帮助系统 533
22.9.1 演示系统 533
22.9.2 帮助文档 533
22.10 小结 534
第23章 SIMULINK高级技术 535
介绍SIMULINK的高级仿真技术,内容包括:数据显示、高级积分器 、过零检测,以及系统代数环的形成与处理、条件执行子系统、调试技术、模块库的扩展和S-函数的创建与使用。
23.1 数据显示 535
23.1.1 使用Scope模块 535
23.1.2 使用XY Graph模块 536
23.1.3 使用悬浮Scope模块 537
23.1.4 使用命令绘制输出曲线 538
23.2 过零检测 540
23.2.1 过零检测的工作方式 540
23.2.2 执行过零检测 540
23.3 代数环的概念及解决方案 543
23.3.1 代数环的表征 543
23.3.2 代数环问题的解决 544
23.4 高级积分器 546
23.4.1 定义初始条件 546
23.4.2 限制积分 547
23.4.3 重新设置状态 548
23.4.4 状态端口 548
23.4.5 创建自重置积分器 549
23.5 简单子系统 549
23.5.1 子系统的基本操作和子系统创建的方法。 550
23.5.2 组合已有模块创建子系统 550
23.5.3 添加Subsystem模块创建子系统 551
23.6 条件执行子系统 552
23.6.1 使能子系统(Enable Subsystem) 552
23.6.2 触发子系统(Triggered Subsystem) 554
23.6.3 触发使能子系统 556
23.7 子系统封装 556
23.7.1 Icon标签页 557
23.7.2 Parameters标签页 559
23.7.3 Initialization标签页 559
23.7.4 Documentation标签页 560
23.7.5 子系统封装举例 560
23.8 SIMULINLK调试器 562
23.8.1 启动SIMULINK图形调试器 563
23.8.2 SIMULINK调试窗口工具栏 563
23.8.3 断点显示及条件断点设置 564
23.8.4 仿真回路标签页 564
23.8.5 信息显示标签页 564
23.8.6 设置无条件断点 565
23.8.7 设置有条件断点 566
23.9 编写S-函数 567
23.9.1 S-函数的工作原理 567
23.9.2 S-函数的使用 568
23.9.3 S-函数的概念 570
23.9.4 M文件S-函数的模板 571
23.9.5 S-函数举例 573
23.10 小结 578
第七篇 MATLAB常见工具箱
第24章 图像处理工具箱 580
介绍利用MATLAB进行图像处理的方法和操作,例如:MATLAB数字图像处理中涉及的一些基本概念和图像数据的操作,数字图像的灰度变换,数字图像的代数运算,数字图像的几何运算和数字图像滤波。
24.1 数字图像基础 580
24.1.1 数字图像的生成 580
24.1.2 图像的类型 582
24.1.3 读写图像数据 583
24.1.4 显示图像数据 585
24.1.5 转换图像格式 586
24.2 图像的灰度变换 592
24.2.1 图像的直方图 592
24.2.2 灰度变换 594
24.2.3 直方图均衡 597
24.3 图像的代数运算 598
24.3.1 图像加法 598
24.3.2 图像乘法 599
24.3.3 图像减法 600
24.3.4 图像除法 600
24.4 图像的几何运算 601
24.4.1 缩放图像 601
24.4.2 旋转图像 602
24.4.3 裁剪图像 604
24.5 线性滤波 604
24.5.1 卷积和相关 604
24.5.2 线性滤波 606
24.6 排序滤波 608
24.6.1 中值滤波 608
24.6.2 最大(小)值滤波 611
24.7 小结 611
第25章 信号处理工具箱 612
介绍MATLAB进行信号处理的工具箱函数,便于读者学以致用。
25.1 信号的表示 612
25.2 信号的生成 613
25.2.1 正弦波和余弦波 613
25.2.2 周期方波和锯齿波 614
25.2.3 周期sinc函数 614
25.2.4 高斯调整正弦脉冲 614
25.2.5 扫频信号 615
25.2.6 单位冲激信号 616
25.2.7 单位序列 617
25.2.8 均匀分布的随机序列 617
25.2.9 高斯分布随机序列 618
25.3 随机信号处理和谱分析 619
25.3.1 随机信号互相关函数估计 619
25.3.2 互协方差函数估计 620
25.3.3 谱分析函数psd 621
25.3.4 谱分析函数pwelch 621
25.4 模拟滤波器设计 623
25.4.1 滤波器的设计参数 623
25.4.2 巴特沃思滤波器 623
25.4.3 切比雪夫I型滤波器 624
25.4.4 切比雪夫Ⅱ型滤波器 625
25.4.5 模拟滤波器的频域变换 626
25.5 IIR数字滤波器设计 627
25.5.1 巴特沃思数字滤波器设计(butter函数) 628
25.5.2 切比雪夫I型数字滤波器设计(cheby1函数) 629
25.5.3 切比雪夫Ⅱ型数字滤波器设计(cheby2函数) 630
25.5.4 椭圆数字滤波器设计(ellip函数) 632
25.5.5 数字滤波器阶数选择 633
25.6 窗函数 635
25.6.1 矩形窗 635
25.6.2 海宁窗 635
25.6.3 汉明窗 636
25.6.4 布莱克曼窗 637
25.6.5 凯瑟窗 637
25.7 FIR数字滤波器的窗函数设计 638
25.7.1 窗函数设计法设计步骤 638
25.7.2 基于窗函数法的FIR滤波器设计 642
25.7.3 基于频率采样法的FIR滤波器设计 642
25.8 模拟—数字滤波器变换 643
25.8.1 冲激响应不变法 643
25.8.2 双线性变换法 645
25.9 小结 647
第26章 小波分析工具箱 648
介绍小波变换的基本原理和基本方法,如小波变换、反变换,小波变换应用示例和交互式小波分析工具。
26.1 小波变换 648
26.1.1 基本原理 648
26.1.2 基小波函数 649
26.1.3 小波变换、反变换 654
26.2 小波分析应用 656
26.3 交互式小波分析工具 659
26.4 小结 659
附录 MATLAB常用命令检索表 660
完全手册MATLAB使用详解——基础、开发及工程应用1.jpg
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/13164110/viewspace-497933/,如需转载,请注明出处,否则将追究法律责任。