书海网短评:
适读人群:MATLAB初学人员、自学人员、高校学生MATLAB中文论坛鼎力支持,提供“在线交流,有问必答”网络互动答疑服务涵盖MATALB程序设计基础知识、矩阵运算、绘图、概率统计、数据分析、数据结构、
MATLAB中文论坛鼎力支持,提供“在线交流,有问必答”网络互动答疑服务
涵盖MATALB程序设计基础知识、矩阵运算、绘图、概率统计、数据分析、数据结构、图形用户界面、图像处理和插值拟合等内容
《MATLAB程序设计基础与应用》贯穿了355个实例来讲述重要知识点和相关注意事项,有很强的实用性
可以让读者顺利踏入MATLAB的大门,并能逐步深入到相关专业技术领域
提供了85个习题和专业的教学PPT,可供相关院校教学使用,也可供MATLAB自学人员和爱好者巩固所学知识
《MATLAB程序设计基础与应用》编写的目的是让读者全面了解MATLAB程序设计的基础知识,从而能够掌握基本的MATLAB程序开发,以适应现代工程技术的发展。《MATLAB程序设计基础与应用》针对普通高校广大学生和教师的教学需要,从*简单的MATLAB程序设计开始介绍,涉及矩阵运算、图形显示、概率统计、图像处理和插值拟合等内容,覆盖面广,有利于促进广大MATLAB使用者之间的交流与学习。
《MATLAB程序设计基础与应用》主要介绍了MATLAB程序设计的一些基础知识。《MATLAB程序设计基础与应用》共分8章,涵盖的主要内容有MATLAB编程环境、MATLAB矩阵及其运算、MATLAB绘图、MATLAB程序设计、MATLAB数据分析及应用、MATLAB数据结构、MATLAB图形用户界面设计和MATLAB在图像处理中的应用。《MATLAB程序设计基础与应用》系统地介绍了MATLAB程序设计所需要的基本知识,并给出了交互设计软件的方法,*后还给出了MATLAB在图像处理中的应用,为后续MATLAB的实际应用做好铺垫。为了方便教师教学和读者自我检测,《MATLAB程序设计基础与应用》每章*后都特意给出了习题供读者实战演练。另外,《MATLAB程序设计基础与应用》还配备了专业的教学PPT。以方便相关院校教学使用。
《MATLAB程序设计基础与应用》可以作为通信、电子信息等专业的高年级本科生、研究生及教师的教材和参考书,也可供从事相关领域研究的科技人员、工程技术人员及MATLAB爱好者学习和参考。
《MATLAB程序设计基础与应用》涵盖的内容
MATLAB编程环境
MATLAB矩阵及其运算
MATLAB绘图
MATLAB程序设计
MATLAB数据分析及应用
MATLAB数据结构
MATLAB图形用户界面设计
MATLAB在图像处理中的应用
刘帅奇,毕业于北京交通大学。有8年以上的MATLAB应用经验。精通MATLAB算法开发,并对程序设计有独到的见解。荣获省级和全国数学建模竞赛三等奖2项、二等奖1项,还获得了编程和其他类竞赛奖1项。已发表和录用论文20多篇,其中包括7篇SCI检索期刊论文,9篇EI检索期刊论文。主持和参与相关项目10余个。目前主要从事多维信号处理、图像处理、人工智能、信号分析、故障诊断和算法开发等相关方面的研究。
李会雅,毕业于河北大学通信工程专业。长期从事通信工程专业一线教学。不仅精通MATLAB科学计算,还对目前市面上的相关教材多有研究,认为目前的教材对于普通本科院校来说不尽完善。目前的研究方向为多维信号处理。
赵杰,毕业于河北工业大学。现任河北大学电子信息工程学院常务副院长。精通MATLAB数值计算、小波分析、图像处理。长期从事图像处理算法的研究,并对基于MATLAB的图像处理算法有深入研究。先后多次参与国家自然科学基金项目等。目前研究方向为图像处理和计算视觉。
第1章MATLAB编程环境1
1.1MATLAB概述1
1.1.1MATLAB发展历程1
1.1.2MATLAB主要功能2
1.1.3MATLAB特点2
1.2MATLAB的组成部分3
1.2.1MATLAB主要组成部分4
1.2.2MATLAB重要部件4
1.3MATLAB的安装5
1.4MATLAB开发环境9
1.4.1MATLAB软件开发环境9
1.4.2MATLAB搜索路径15
1.4.3MATLAB变量保存16
1.5M文件的使用17
1.6常用命令20
1.7本章小结23
1.8习题23
第2章MATLAB矩阵及其运算24
2.1变量和数据操作24
2.1.1变量与赋值24
2.1.2预定义变量25
2.1.3内存变量的管理26
2.1.4MATLAB常用数学函数32
2.1.5数据的输出格式34
2.2MATLAB向量与矩阵35
2.2.1向量的建立及拆分35
2.2.2矩阵的建立及拆分38
2.2.3矩阵元素的提取与替换44
2.2.4特殊矩阵48
2.3MATLAB矩阵相关运算51
2.3.1算术运算51
2.3.2关系运算55
2.3.3逻辑运算56
2.4矩阵函数59
2.4.1对角阵与三角阵59
2.4.2矩阵的转置与旋转61
2.4.3矩阵的逆与伪逆63
2.4.4方阵的行列式64
2.4.5矩阵的秩与迹64
2.4.6向量和矩阵的范数65
2.4.7矩阵的条件数67
2.4.8矩阵的特征值与特征向量67
2.5本章小结68
2.6习题68
第3章MATLAB绘图69
3.1二维数据曲线图69
3.1.1绘制单根二维曲线69
3.1.2绘制多根二维曲线74
3.1.3设置曲线样式80
3.1.4图形标注84
3.1.5坐标控制88
3.1.6边界和网格控制94
3.1.7图形窗口的分割95
3.1.8图形的可视化编辑95
3.2其他二维图形103
3.2.1其他绘图函数104
3.2.2饼图106
3.2.3条形图108
3.2.4直方图109
3.2.5面积图110
3.2.6散点图110
3.2.7排列图111
3.2.8罗盘图111
3.2.9羽毛图112
3.2.10矢量图112
3.2.11杆型图113
3.2.12阶梯图114
3.3三维图形114
3.3.1三维曲线114
3.3.2三维表面图的绘制118
3.3.3三维切片图的绘制119
3.3.4常用三维图形119
3.3.5其他三维图形122
3.4本章小结124
3.5习题124
第4章MATLAB程序设计126
4.1M文件126
4.1.1M文件的分类126
4.1.2M文件的建立与打开129
4.2程序控制结构131
4.2.1顺序结构131
4.2.2选择结构135
4.2.3循环结构140
4.3函数文件145
4.3.1函数文件的基本结构145
4.3.2函数的调用146
4.3.3函数参数的可调性147
4.3.4全局变量与局部变量150
4.4程序举例152
4.5程序调试158
4.5.1程序调试概述158
4.5.2调试工具159
4.5.3调试命令161
4.6本章小结162
4.7习题162
第5章MATLAB数据分析及应用164
5.1数据统计处理164
5.1.1最大值和最小值164
5.1.2求和与求积166
5.1.3平均值和中值169
5.1.4累加和与累乘积171
5.1.5标准方差与相关系数173
5.1.6排序176
5.2数据插值179
5.2.1一维数据插值179
5.2.2二维数据插值182
5.3离散傅里叶变换185
5.3.1离散傅里叶变换算法简介185
5.3.2离散傅里叶变换的实现186
5.4多项式计算188
5.4.1多项式的四则运算188
5.4.2多项式的导函数191
5.4.3多项式的求值191
5.4.4多项式求根192
5.5线性方程组求解193
5.5.1线性方程组的直接求解算法193
5.5.2线性方程组的迭代求解算法195
5.6曲线拟合199
5.7常微分方程初值问题的数值解法201
5.8最优化问题求解203
5.8.1无约束最优化问题求解203
5.8.2有约束最优化问题求解204
5.8.3线性规划问题求解205
5.9数值积分206
5.9.1数值积分基本原理206
5.9.2数值积分的实现方法207
5.9.3多重定积分的数值求解208
5.10数值微分208
5.10.1数值差分与差商208
5.10.2数值微分的实现209
5.11本章小结210
5.12习题211
第6章MATLAB数据结构213
6.1多维数组213
6.1.1多维数组的表现形式213
6.1.2多维数组的创建214
6.1.3多维数组的转换217
6.2结构体219
6.2.1结构体构造和赋值219
6.2.2结构体的使用225
6.2.3结构体的嵌套227
6.3细胞228
6.3.1细胞数组的创建228
6.3.2细胞数组的访问230
6.3.3细胞数组的显示231
6.4字符串233
6.4.1字符串构造233
6.4.2字符串函数234
6.5本章小结241
6.6习题242
第7章MATLAB图形用户界面设计243
7.1图形用户句柄243
7.2图形用户界面开发环境247
7.2.1图形用户界面设计窗口247
7.2.2常用的用户界面设计工具250
7.3菜单设计258
7.3.1建立用户菜单258
7.3.2菜单对象常用属性263
7.3.3快捷菜单265
7.4对话框设计266
7.4.1公共对话框266
7.4.2MATLAB专用对话框268
7.5GUI的控件简介271
7.5.1常用控件简述271
7.5.2控件的操作274
7.6图形用户界面开发举例278
7.7本章小结289
7.8习题289
第8章MATLAB在图像处理中的应用291
8.1读取和显示图像291
8.1.1读取图片291
8.1.2显示图片295
8.2图像的直方图均衡296
8.2.1直方图296
8.2.2直方图均衡300
8.3灰度拉伸303
8.4图像滤波306
8.4.1均值滤波306
8.4.2中值滤波308
8.5阈值分割与二值化310
8.6形态学算子311
8.7图像变换318
8.8本章小结321
8.9习题321
MATLAB是美国MathWorks公司出品的商业数学软件。它将数值分析、矩阵计算、科学数据可视化及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言的编辑模式,代表了当今国际科学计算软件的先进水平。与其他计算机语言相比,MATLAB更加接近人们书写计算公式的思维方式,其程序编写就像是在演算纸上列出公式进行求解的过程,这使人们摆脱了许多重复、复杂的机械性编程细节,而把注意力集中在创造性问题上,用尽可能短的时间得到有价值的结果。MATLAB还具有编程简单、节省时间、提高效率、易学易懂、功能强大、适用范围广、可移植性强和开放性强等特点,是在校大学生进行科学研究必须掌握的基本技能。
《MATLAB程序设计基础与应用》作为介绍MATLAB编程技术的基础教科书,主要为MATLAB初学者详细介绍了MATLAB的基本功能、函数格式与调用、编程方法与程序运行等内容,并以高等数学、线性代数、概率论、数理统计、优化问题、数据处理、系统仿真等学科为背景,精心选取了实例和常见的案例来讲解MATLAB的具体操作方法,从而让读者能够轻松自如地掌握MATLAB的编程方法和技巧,为从事科学研究和相关行业的开发打下良好的基础。《MATLAB程序设计基础与应用》内容涵盖了MATLAB在各学科通用的基础内容,充分展现了MATLAB的各项常用功能,而且叙述简明扼要,深入浅出,还提供了丰富的实例及习题,是广大高校理工科专业的学生和科研爱好者不可多得的MATLAB编程基础读物。
《MATLAB程序设计基础与应用》特色
1.内容丰富,结构合理
《MATLAB程序设计基础与应用》涵盖了MATALB程序设计所涉及的基本概念和矩阵运算、绘图、概率统计、数据分析、数据结构、图形用户界面、图像处理和插值拟合等内容,可以满足大部分MATLAB初学者的学习需求。
2.实例丰富,注重实用
《MATLAB程序设计基础与应用》编写时考虑了高等院校相关专业的专业基础和教学需求,讲解时结合MATLAB程序设计的相关理论,并提供了大量的实例和案例来讲述重要知识点和相关注意事项,有很强的实用性。
3.由浅入深,循序渐进
《MATLAB程序设计基础与应用》编写遵循由浅入深,循序渐进的原则,前面的章节可以让读者顺利踏入MATLAB的大门,后面的章节则可以让读者逐步深入到相关专业技术领域,这样的安排使得读者的学习曲线平滑,梯度合理,学习效果好。
4.语言通俗,图文并茂
《MATLAB程序设计基础与应用》用通俗易懂的语言讲解各个知识点,而且在讲解过程中提供了大量的图示以帮助读者直观地理解所学知识。这可以让读者快速上手,迅速掌握MATALB知识。
5.提供大量的课后习题
《MATLAB程序设计基础与应用》每章后都提供了丰富的习题,这既可以方便相关院校的教学需求,也可以供MATLAB自学人员和爱好者巩固所学知识。这些习题和每章内容密切关联,读者只要掌握了每章内容,稍加努力就能解出这些题目。
6.提供教学PPT
为了方便相关院校的老师教学和学生学习,笔者专门为《MATLAB程序设计基础与应用》制作了专业的教学课件(PPT),需要的读者可以按照本文后提供的获取方式获取。
《MATLAB程序设计基础与应用》内容介绍
《MATLAB程序设计基础与应用》共分8章,主要内容概括如下:
第1章介绍MATLAB的编程环境,主要包括MATLAB的特点、安装、编程环境及一些通用命令等。
第2章介绍MATLAB矩阵及其运算,主要包括MATLAB程序设计语言中的变量、数据、矩阵的定义及基本操作等。
第3章介绍MATLAB绘图,不仅对MATLAB程序中的二维绘图和三维绘图进行了详细介绍,还介绍了如何设置曲线样式、图形标注、坐标控制、图形的可视化编辑和图形窗口的分割等。
第4章介绍MATLAB环境下进行程序设计的相关知识,主要对M文件、程序控制结构、函数文件、全局变量、局部变量和程序调试等问题进行了介绍。
第5章介绍MATLAB数据分析及应用,主要介绍了MATLAB在线性代数、数据处理、数值微积分和常微分方程求解等方面的数据分析方法及应用。
第6章介绍MATLAB数据结构,主要介绍了多维数组、结构体、细胞和字符串4种数据类型的构造和应用。
第7章介绍MATLAB图形用户界面设计,主要对GUI进行了简单介绍,然后介绍了GUI开发环境GUIDE及其组成部分的用途和使用方法,并给出了GUI中菜单和对话框等的设计,还给出了实现GUI的设计实例。
第8章介绍MATLAB在图像处理中的应用,主要介绍了图像的读取、显示和写入,并对简单的图像处理进行了介绍。
《MATLAB程序设计基础与应用》读者定位
《MATLAB程序设计基础与应用》可作为高等院校理工科专业本科生或研究生的课程教材及教学参考用书,亦可作为MATLAB爱好者和相关研究人员的参考资料。《MATLAB程序设计基础与应用》要求读者最好具备信号与系统、高等数学和线性代数等课程的基本知识。
《MATLAB程序设计基础与应用》配套资源获取方式
《MATLAB程序设计基础与应用》涉及的源程序和教学PPT等资源需要读者自行下载。请到清华大学出版社的网站上搜索到《MATLAB程序设计基础与应用》页面,然后在页面上的“资源下载”处下载。读者也可以在MATLAB中文论坛上的《MATLAB程序设计基础与应用》页面上下载。
因作者水平所限,《MATLAB程序设计基础与应用》恐有疏漏之处,恳请广大读者批评指正。
编者









