《CAX工程应用丛书:Matlab R2016a从入门到精通》是针对MATLAB R2016a(V9.0)*新版本进行编写的。书中讲述的内容是使用MATLAB进行科学研究、系统仿真、数据分析与处理的必备知识。通过全面学习本书,读者可以获得使用MATLAB进行数学计算、数据分析及处理的相关技能,并能快速掌握使用MATLAB进行工作的基本方法。
全书可分为5篇,共20章:基础知识部分包括MATLAB概述、MATLAB基础、数据输入输出基础、编程基础和可视化基础;数学基础部分包括数组与矩阵操作、数学函数运算和符号数学计算;数据分析部分包括多项式分析、数值运算、优化和概率统计;拓展知识部分包括句柄图形、GUI编程、Simulink基础、编译器和应用程序接口;MATLAB应用部分包括信号处理应用、图像处理应用、小波分析应用和偏微分方程应用等内容。
本书结构严谨、重点突出、条理清晰,既可以作为大中专院校相关专业以及社会有关培训班的教材,也适合广大MATLAB读者自学使用。
温欣研,北京航空航天大学博士后,现就职于航天五院,精通Matlab、ANSYS、Fluent等工程仿真计算软件。在国内外期刊发表论文多篇,其中被被EI检索3篇。研究生期间获光华奖学金及优秀研究生等荣誉;博士创新基金;所负责项目获申请专利两项,北航科学技术二等奖以及国防科学技术成果三等奖等。曾主持编著《FLUENT流体计算应用教程》等计算机图书。
第一篇 基础知识
第1章 MATLAB概述 3
1.1 工作环境 3
1.1.1 系统组成 3
1.1.2 工作窗口 4
1.1.3 应用简介 8
1.2 文件管理 9
1.2.1 目录结构 9
1.2.2 当前文件夹浏览器 10
1.2.3 路径搜索 10
1.3 帮助系统 12
1.3.1 文本帮助 12
1.3.2 演示帮助 13
1.3.3 帮助导航窗口 14
1.4 MATLAB使用初步 16
1.5 本章小结 16
第2章 MATLAB基础 17
2.1 数据类型 17
2.1.1 数值类型 17
2.1.2 字符与字符串 22
2.1.3 结构 23
2.1.4 单元数组 25
2.1.5 函数句柄 27
2.1.6 映射容器 28
2.1.7 数据类型识别与转换 32
2.2 运算符与运算 33
2.2.1 算术运算符 33
2.2.2 关系运算符 34
2.2.3 逻辑运算符 35
2.2.4 运算优先级 36
2.3 字符串处理 36
2.3.1 字符串构造 36
2.3.2 字符串比较 37
2.3.3 查找与替换 38
2.3.4 字符串类型转换 38
2.4 矩阵基础 39
2.4.1 有关概念 39
2.4.2 创建矩阵 39
2.4.3 改变矩阵结构 41
2.4.4 矩阵下标 42
2.4.5 矩阵信息 44
2.5 本章小结 47
第3章 数据输入输出基础 48
3.1 打开与关闭文件 48
3.1.1 打开文件 48
3.1.2 关闭文件 50
3.2 读写二进制文件 51
3.2.1 写二进制文件 51
3.2.2 读二进制文件 51
3.3 读写文本文件 53
3.3.1 写文本文件 53
3.3.2 读文本文件 54
3.4 读写位置控制 55
3.5 导入数据 56
3.5.1 向导导入数据 56
3.5.2 命令导入数据 57
3.6 本章小结 58
第4章 编程基础 59
4.1 变量与语句 59
4.1.1 变量命名 59
4.1.2 变量类型 60
4.1.3 特殊变量 60
4.1.4 关键字 61
4.1.5 语句构成 61
4.2 程序控制 62
4.2.1 顺序结构 62
4.2.2 分支结构 62
4.2.3 循环结构 66
4.2.4 其他常用控制命令 68
4.3 M文件与脚本 70
4.3.1 M文件 70
4.3.2 脚本 71
4.4 函数 72
4.4.1 M文件函数 72
4.4.2 匿名函数 74
4.4.3 子函数 74
4.4.4 私有函数 75
4.4.5 重载函数 75
4.4.6 内联函数 75
4.4.7 eval、feval函数 76
4.4.8 函数的函数 77
4.4.9 内嵌函数 78
4.4.10 函数编写建议 78
4.5 M文件变量检测 78
4.5.1 输入输出变量检测 78
4.5.2 可变数量输入输出 79
4.6 程序调试 80
4.6.1 直接调试 80
4.6.2 工具调试 80
4.7 本章小结 81
第5章 可视化基础 82
5.1 图形绘制对象 82
5.2 二维图形 82
5.2.1 plot命令 82
5.2.2 图形叠绘 87
5.2.3 子图绘制 87
5.2.4 交互绘图 89
5.2.5 双纵坐标图 90
5.2.6 特殊坐标绘图 91
5.2.7 函数绘图 93
5.3 三维图形 95
5.3.1 曲线图 95
5.3.2 网格图 96
5.3.3 曲面图 97
5.4 四维图形 98
5.4.1 第四维表达 99
5.4.2 四维图绘制 99
5.5 特殊图形 100
5.5.1 饼状图 101
5.5.2 直方图 102
5.5.3 柱形图 102
5.5.4 离散数据点图 104
5.5.5 散点图 105
5.5.6 向量图 106
5.5.7 等值线图 107
5.6 图形处理 108
5.6.1 图形输出 108
5.6.2 图形细化 109
5.6.3 坐标轴控制 114
5.6.4 视角与透视 115
5.7 绘图窗口 117
5.7.1 创建绘图窗口 117
5.7.2 绘图窗口工具栏 117
5.8 本章小结 118
第二篇 数学基础
第6章 数组与矩阵操作 120
6.1 数组运算 120
6.1.1 创建与访问数组 120
6.1.2 数组运算 123
6.2 矩阵操作 127
6.2.1 创建矩阵 127
6.2.2 改变矩阵结构 132
6.3 矩阵元素运算 134
6.3.1 矩阵四则运算 134
6.3.2 矩阵元素幂运算 137
6.3.3 矩阵元素查找与排序 137
6.3.4 矩阵元素求和、求积与求差分 139
6.4 矩阵运算 141
6.4.1 矩阵分析 141
6.4.2 矩阵分解 145
6.4.3 特征值与特征向量 148
6.4.4 矩阵函数运算 149
6.5 稀疏矩阵 151
6.5.1 稀疏矩阵存储方式 151
6.5.2 创建稀疏矩阵 152
6.5.3 稀疏矩阵运算 153
6.6 本章小结 153
第7章 数学函数运算 154
7.1 初等函数运算 154
7.1.1 三角函数 154
7.1.2 指数与对数函数 156
7.1.3 复数函数 157
7.1.4 截断和求余函数 158
7.1.5 离散数学函数 159
7.1.6 基本数据分析函数 160
7.1.7 多项式函数 162
7.2 特殊函数运算 163
7.2.1 特殊函数 163
7.2.2 坐标变换函数 164
7.3 本章小结 165
第8章 符号计算 166
8.1 符号计算概述 166
8.2 符号变量与表达式 167
8.2.1 符号对象 168
8.2.2 符号计算运算符与函数 170
8.2.3 符号对象识别 174
8.2.4 符号变量 175
8.2.5 符号表达式显示 176
8.2.6 表达式项操作 176
8.2.7 符号数值和精度 181
8.3 符号函数 182
8.3.1 复合函数操作 182
8.3.2 反函数运算 183
8.4 符号微积分 183
8.4.1 符号表达式的极限 183
8.4.2 符号表达式的导数 184
8.4.3 符号表达式的积分 185
8.4.4 符号表达式的级数求和积 186
8.4.5 符号表达式的泰勒级数 187
8.5 符号积分变换 188
8.5.1 Fourier变换 188
8.5.2 Laplace变换 189
8.5.3 Z变换 189
8.6 符号矩阵计算 190
8.6.1 算术运算 190
8.6.2 线性代数运算 191
8.6.3 特征值分解 191
8.7 符号方程求解 192
8.7.1 代数方程求解 192
8.7.2 微分方程求解 195
8.8 符号计算界面 196
8.8.1 funtool分析界面 196
8.8.2 taylortool分析界面 198
8.9 本章小结 199
第三篇 数据分析
第9章 多项式分析 201
9.1 多项式及函数 201
9.1.1 多项式及其函数 201
9.1.2 多项式计算 201
9.1.3 多项式方程求根 202
9.1.4 多项式四则运算 202
9.1.5 多项式微积分 204
9.1.6 有理多项式展开 205
9.2 极限 206
9.3 本章小结 206
第10章 数值运算 207
10.1 解线性方程组 207
10.1.1 线性法 207
10.1.2 迭代法 209
10.2 插值与拟合 210
10.2.1 插值 210
10.2.2 曲线拟合 216
10.3 数值微积分 217
10.3.1 一元数值积分 218
10.3.2 多重数值积分 219
10.3.3 数值微分 220
10.4 常微分方程 221
10.5 本章小结 222
第11章 优化 223
11.1 优化问题求解过程 223
11.1.1 选择求解器 223
11.1.2 设置变量 224
11.1.3 写目标函数 224
11.1.4 写约束条件 226
11.1.5 设置求解器参数 226
11.1.6 求解并检查结果 228
11.1.7 改善优化结果 228
11.2 线性规划 228
11.3 二进制整数规划 231
11.4 二次规划 232
11.5 非线性规划 233
11.5.1 无约束优化 233
11.5.2 约束优化 236
11.6 多目标规划 239
11.6.1 多目标规划 239
11.6.2 最大最小化问题 240
11.7 最小二乘问题 242
11.7.1 线性最小二乘问题 242
11.7.2 非线性最小二乘问题 244
11.8 GUI工具 245
11.9 本章小结 246
第12章 概率统计 247
12.1 统计量操作 247
12.1.1 产生随机数 247
12.1.2 抽样 251
12.2 数据统计分析 252
12.2.1 特征统计量 252
12.2.2 统计图表 255
12.3 概率分布与计算 261
12.3.1 概率密度计算 261
12.3.2 概率分布计算 263
12.4 本章小结 266
第四篇 拓展知识
第13章 句柄图形 268
13.1 句柄图形对象系统 268
13.1.1 句柄图形对象组织 268
13.1.2 句柄图形对象简介 269
13.2 句柄图形对象操作 269
13.2.1 创建与保存 270
13.2.2 访问、复制和删除 271
13.2.3 图形输出控制 273
13.3 属性设置 278
13.3.1 通用对象属性 278
13.3.2 属性设置函数 279
13.3.3 默认属性设置 280
13.4 Figure对象 282
13.4.1 Figure对象简介 282
13.4.2 Figure对象操作 283
13.5 Axes对象 284
13.5.1 Axes对象简介 284
13.5.2 Axes对象操作 284
13.6 Core对象 291
13.7 Plot对象 293
13.7.1 创建Plot对象 293
13.7.2 连接变量 294
13.8 Group对象 294
13.8.1 创建Group对象 295
13.8.2 对象变换 295
13.9 Annotation对象 296
13.10 本章小结 297
第14章 GUI编程 298
14.1 GUI基础 298
14.1.1 GUI介绍 298
14.1.2 创建GUI 299
14.1.3 回调函数 302
14.2 GUI控件 303
14.2.1 GUI控件类型 303
14.2.2 创建GUI控件 304
14.3 GUI菜单和工具栏 306
14.3.1 GUI菜单 307
14.3.2 GUI工具栏 309
14.4 对话框 310
14.4.1 创建函数 310
14.4.2 创建方法 311
14.5 布局 314
14.5.1 布局函数 314
14.5.2 布局方式 314
14.6 GUI行为控制编程 318
14.6.1 回调与中断 319
14.6.2 数据管理 320
14.7 GUI实例 321
14.8 本章小结 326
第15章 Simulink基础 327
15.1 概述 327
15.1.1 基本概念 327
15.1.2 工作环境 328
15.1.3 Simulink数据类型 331
15.1.4 模块和模块库 331
15.1.5 Simulink常用工具 336
15.2 Simulink模型 337
15.2.1 模块基本操作 337
15.2.2 设置输出提示 341
15.2.3 模型和模型文件 342
15.2.4 保存系统模型 345
15.2.5 打印模型框图及生成报告 346
15.3 子系统 349
15.3.1 子系统介绍 350
15.3.2 高级子系统技术 351
15.4 运行仿真 362
15.4.1 启动仿真过程 362
15.4.2 仿真过程诊断 363
15.4.3 仿真配置 363
15.4.4 仿真的设置 365
15.5 调试 369
15.5.1 模型调试 369
15.5.2 调试器控制 372
15.5.3 设置断点 376
15.6 S函数 379
15.6.1 S-函数概述 379
15.6.2 M文件S-函数 382
15.7 本章小结 385
第16章 MATLAB编译器与接口 386
16.1 编译器安装与配置 386
16.1.1 编译器介绍与安装 386
16.1.2 编译器配置 387
16.2 编译过程 387
16.2.1 MCR安装 387
16.2.2 MCR编译过程 388
16.3 编译生成独立程序 388
16.3.1 编译命令mcc 388
16.3.2 编译独立程序 389
16.4 接口概述 392
16.4.1 MEX文件 393
16.4.2 MAT文件介绍 393
16.4.3 计算引擎 393
16.5 基于C/C++的MEX文件 393
16.5.1 MEX文件结构 394
16.5.2 创建C/C++MEX文件 395
16.5.3 调试C/C++MEX文件 399
16.6 本章小结 400
第五篇 MATLAB应用
第17章 信号处理应用 402
第18章 图像处理应用 447
第19章 小波分析应用 488
第20章 偏微分方程应用 509
第18章 图像处理应用
MATLAB在图像处理方面的应用较为成熟,其为图像处理提供了丰富的函数。本章将以函数为重点介绍对象,介绍MATLAB图像处理应用方面的内容,具体包括图像处理基础、图像显示、图像运算、图像变换、图像分析、区域处理和颜色处理等。
? 图像处理基础
? 图像显示
? 图像运算
? 图像变换
? 图像分析
? 图像增强
? 区域处理
? 颜色处理
18.1 图像处理基础
图像在MATLAB中以数组的形式进行存储,这使得MATLAB可以方便地使用数学函数对图像进行处理。下面介绍图像处理基础内容,包括图像在MATLAB中的表达、图像类型、图像文件和图像数据读写等。
18.1.1 图像表达
在MATLAB中,图像可以以像素索引和空间位置两种方式进行表达。
(1)像素索引
使用像素索引时,图像被视为离散单元,按照空间顺序从上往下、从左往右排列,如图18.1所示。使用像素索引时,像素值与索引有一一对应的关系。例如,位于第2行第2列的像素值存储在矩阵元素(2,2)中。
(2)空间位置
空间位置图像表达方式将图像与空间位置联系起来,使用空间位置连续值取代像素索引离散值进行表示,如图18.2所示;例如,包含1024列768行的图像,使用默认的空间位置表示为:X向数据存储位置为[1,1024],Y向数据存储位置为[1,768];并且,由于数据存储位置为坐标范围的中点位置,所使用的位置范围分别为[0.5,1024.5]和[0.5,768.5]。
图18.1 像素索引 图18.2 空间位置
与像素索引不同,空间位置的存储方式可以将空间方位逆转,比如将X向数据存储位置定义为[1024,1]。还可使用非默认的空间位置进行表示。
例18-1,空间位置存储的MAGIC图像示例。
在命令行窗口输入:
A= magic(6);
X = [19.5 24.5]; X1 = [24.5 19.5];
y = [8.0 13.0]; y1 = [13.0 8.0];
subplot(121);
image(A,'XData',X,'YData',y), axis image, colormap(gray)%正向灰度图,见图18.3左图
subplot(122);
image(A,'XData',X1,'YData',y1), axis image, colormap(gray) %逆向灰度图,见图18.3右图
输出图形如图18.3所示。
图18.3 使用空间位置存储的MAGIC图像示例
18.1.2 图像类型与文件
本小节介绍图像类型和文件有关的内容,包括图像类型、类型转换和文件格式等。
1.图像类型
MATLAB 中图像类型分为4类:二进制图、灰度图、索引图(伪彩色)和RGB图(真彩色)。下面具体介绍这4类图像类型。
(1)二进制图
在二进制图中,像素的取值为两个离散数值0或1中的一个,分别代表黑与白。如图18.4所示为一幅典型的二进制图像。
(2)灰度图
灰度图通常由unit8、unit16、单精度类型或双精度类型的数组描述,其实质是数据矩阵,该矩阵中的数据均代表了一定范围内的灰度级,每个元素与图像的一个像素点相对应,通常0 代表黑色,1、255 或65635(为数据矩阵的取值范围上限)代表白色。灰度图带有像素值矩阵,但一般情况下,灰度图像不与颜色映射表一起保存。如图18.5所示为一个典型的双精度灰度图及其像素值矩阵。
图18.4 二进制图的像素值图 18.5 灰度图及其像素值矩阵
……
前 言
MATLAB R2016a(V9.0)为数据分析与处理提供了强大的工具。目前,MATLAB已经在很多领域取得了成功应用。
MATLAB具有的科学计算、仿真和基于模型的设计功能使其在嵌入式系统、控制系统、数字信号处理、通信系统、图像和视频处理、FPGA设计、机电系统设计、测试与测量、计算生物学和计算金融学等领域取得了巨大的成功,并在航空和国防、汽车、生物技术和医药、通信、电子和半导体、能源生产、金融服务、工业自动化和机械等行业中得到广泛应用。
由于在各个行业中,MATLAB体现的技术优势越来越明显,而且在中国已有大量的工程师将MALTAB作为设计分析软件,因此学习MATLAB显得十分必要。
1. 本书特色
本书由从事多年MATLAB工作和实践的一线从业人员编写,在编写的过程中,不只注重应用技巧的介绍,还重点讲解了MATLAB和工程实际的关系。本书主要有以下几个特色。
本书通过简明易懂的算例展示了MATLAB强大的数学功能和无与伦比的解释语言编程能力,全书基础和实例详解并重,重点讲解对使用MATLAB至关重要的编程及数学运算功能。
本书内容编排上注意难易结合,详细介绍MATLAB各功能的使用方法和技巧,不仅使读者快速入门,还能全面了解MATLAB软件,提高工作效率。通过对各章算例的学习,读者可以从各个方面了解MATLAB进行数学处理的方法论,有助于读者理顺思路,在解决实际问题时正确地建立模型。
本书详细介绍了MATLAB的操作方法,读者可以很轻松地按照书中的指示逐步完成,同时在编写过程中用醒目的提示指出了读者容易遇到的困扰和错误操作。
本书通过线下线上结合的方式,既提供纸质版本的书籍资料,也提供邮箱沟通渠道;使读者可以方便快捷地获得MATLAB使用指导,提高在使用MATLAB过程中解决问题的效率。
2. 主要内容
本书分为5篇,共20章,包括基础知识、数学基础、数据分析、拓展知识、MATLAB应用5篇内容。章节内容安排如下:
第一篇 基础知识。主要介绍MATLAB使用和编程方面的基础知识,旨在为读者学习MATLAB提供入门引导,尽快熟悉MATLAB软件及编程使用规则。
第二篇 数学基础。介绍基本数学计算在MATLAB中的实现,旨在建立MATLAB进行数学计算的基本概念,使读者能够进行基本的工程、科研数学计算。
第三篇 数据分析。介绍使用MATLAB进行数据分析相关操作的实现方法,旨在为读者介绍使用MATLAB进行简单的数据分析操作入门,使读者能够将数学工具应用到常见的场景中。
第四篇 拓展知识。介绍使用MATLAB进行复杂的数据分析处理与编程所需的拓展知识,旨在为读者介绍使用MATLAB进行复杂编程的基础知识,将MATLAB的优势充分发挥。
第五篇 MATLAB应用。主要介绍使用MATLAB实现特定领域应用的操作方法,旨在为读者演示通过使用MATLAB进行各专业计算,为读者将MATLAB引入专业计算中进行示范。
3. 读者对象
本书适用于MATLAB的初中级读者和从事科研工作的技术人员,具体说明如下:
相关从业人员 ● 初学MATLAB的技术人员
大中专院校的教师和在校生 ● 相关培训机构的教师和学员
广大科研工作人员 ● MATLAB爱好者
金融行业从业人员 ● 财务从业人员
4. 本书作者
本书主要由温欣研编写,温正、唐家鹏、孙国强、乔建军、焦楠、高飞、张迪妮、韩希强、张文电、张明明、张亮亮、刘成柱、郭海霞、于沧海、李战芬、余胜威等也参与了本书的编写工作。
5. 技术支持
MATLAB本身是一个庞大的资源库与知识库,本书虽然卷帙浩繁,仍难窥其全貌,加之编者水平有限、时间仓促,书中错误与缺点在所难免,敬请广大读者批评指正,也欢迎广大同行来电、来信,共同交流探讨。
读者朋友在学习过程中遇到与本书有关的技术问题,可以发送邮件到comshu@126.com,编者会尽快给予解答,我们将竭诚为您服务。
素材文件可到网站https://pan.baidu.com/s/1kVHhUQF(请注意区分英文字母大小写)下载,如果下载有问题,请发送电子邮件,邮件主题为“MATLAB R2016a从入门到精通”。
编者
2016年10月
书的质量很好,写作水平不错,具体内容学后再评
评分印刷质量很好,看起来很舒服。
评分好好学习天天向上
评分买来提升工作能力
评分又花钱了,一定要努力学习
评分东西挺好的,我非常喜欢
评分物流很快,快递员也很好。优惠幅度大。以后还在京东买
评分很棒很棒很棒!周围师兄都用这本。
评分不错的一次购物,书是正版
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.cndgn.com All Rights Reserved. 新城书站 版权所有