发表于2024-12-23
本教材严格参照教育部颁布的《普通高等学校本科专业目录(2012年)》、教育部高等学校电子电气基础课程教学指导分委员会颁布的《电子电气基础课程教学基本要求》编写;并以当今流行的MATLABR2016a和Simulink8.7为平台,在作者十余年从事MATLAB课程教学、课程改革、毕业设计指导和利用MATLAB进行科学研究的经验的基础上编著而成。本书具有以下特色:
(1)内容编排科学合理以先基础后应用、先理论后实践、循序渐进的原则进行编排,便于读者学习和掌握MATLAB编程方法。
(2)内容丰富,例题新颖本书结合编者多年的MATLAB教学和使用经验,详细介绍MATLAB的基本内容,列举丰富的例题和应用实例,便于读者更好理解和掌握MATLAB各种函数和命令。
(3)理论与应用有机结合本书前7章介绍MATLAB基础内容,每章最后一节都给出应用实例,第8到第10章详细介绍MATLAB在电子信息处理、控制系统和通信系统中应用,从而引导读者更好地用MATLAB解决专业领域的实际应用问题。
(4)理论教学与上机实验相配套为了便于教师教学,本书提供配套的电子教案,所有例题和应用实例的源代码以及所有图片;为了便于读者上机做实验,本书提供MATLAB基本内容的十个实验内容。
(5)提供配套教学课件可到清华大学出版社网站本书页面下载。
(6)提供配套例题源代码、全书图片、教学大纲、授课计划等教学资料。
本书系统地介绍了MATLAB的基础知识以及MATLAB在电子信息处理、控制系统和通信系统中的应用。全书以MATLABR2016a和Simulink8.7为平台详细介绍MATLAB基本功能及其应用,内容包含三部分:MATLAB/Simulink基础篇、MATLAB/Simulink应用篇和MATLAB/Simulink实验篇。全书共11章,内容包括MATLAB语言概述、矩阵及其运算、程序结构和M文件、数值计算、符号计算、数据可视化、Simulink仿真、MATLAB在电子信息处理中的应用、MATLAB在控制系统中的应用、MATLAB在通信系统中的应用和MATLAB实验,内容涉及较广,能满足一般用户的各种功能需求。
本书的特色是注重MATLAB基础与在电子信息类相关学科领域的应用相结合,强调基础,兼顾应用;内容编排合理科学,先基础,后应用,先理论,后实验,由浅入深,循序渐进;内容丰富,例题新颖,应用实例广泛,便于读者学习和掌握MATLAB。
本书适合作为高等院校理工科专业,尤其是电子信息工程、电子科学技术、自动化、电气工程和通信工程等专业的本科生教学用书,也可以作为研究生、科研与工程技术人员的参考用书。
第一部分MATLAB/Simulink基础篇
第1章MATLAB语言概述
1.1MATLAB语言的发展
1.2MATLAB语言的特点
1.3MATLAB语言的环境
1.3.1MATLAB语言的安装
1.3.2MATLAB语言的界面简介
1.4MATLAB帮助系统
1.4.1help查询帮助函数
1.4.2lookfor查询帮助函数
1.4.3联机帮助系统
1.5MATLAB数据类型
1.5.1常量和变量
1.5.2整数和浮点数
1.5.3复数
1.6MATLAB运算符
1.6.1算术运算符
1.6.2关系运算符
1.6.3逻辑运算符
1.6.4优先级
1.7应用实例
1.7.1计算一般数学公式
1.7.2绘制整流波形图
习题1
第2章MATLAB矩阵及其运算
2.1矩阵的创建
2.1.1直接输入矩阵
2.1.2冒号生成矩阵
2.1.3利用函数生成矩阵
2.1.4利用文本文件生成矩阵
2.1.5利用M文件生成矩阵
2.1.6特殊矩阵的生成
2.2矩阵的修改
2.2.1矩阵部分替换
2.2.2矩阵部分删除
2.2.3矩阵部分扩展
2.2.4矩阵结构变换
2.3矩阵的基本运算
2.3.1矩阵的加减运算
2.3.2矩阵的乘法运算
2.3.3矩阵的除法运算
2.3.4矩阵的乘方运算
2.3.5矩阵的点运算
2.4矩阵的分析
2.4.1方矩阵的行列式
2.4.2矩阵的秩和迹
2.4.3矩阵的逆和伪逆
2.4.4矩阵的特征值和特征向量
2.4.5矩阵的分解
2.4.6矩阵的信息获取函数
2.5字符串
2.5.1字符串的创建
2.5.2字符串的操作
2.5.3字符串转换
2.6多维数组
2.6.1多维数组的创建
2.6.2多维数组的操作
2.7结构数组和元胞数组
2.7.1结构数组
2.7.2元胞数组
2.8矩阵及其运算应用实例
2.8.1矩阵在图像处理中的应用
2.8.2线性方程组的求解
2.8.3多维数组在彩色图像中的应用
习题2
第3章MATLAB程序结构和M文件
3.1程序结构
3.1.1顺序结构
3.1.2选择结构
3.1.3循环结构
3.1.4程序控制命令
3.2M文件
3.2.1M文件的分类和特点
3.2.2M文件的创建和打开
3.3M函数文件
3.3.1M函数文件的格式
3.3.2M函数文件的调用
3.3.3主函数和子函数
3.3.4函数的参数
3.3.5函数的变量
3.4程序调试
3.4.1命令窗口调试
3.4.2MATLAB菜单调试
3.4.3MATLAB调试函数
3.5应用实例
习题3
第4章MATLAB数值计算
4.1多项式
4.1.1多项式的创建
4.1.2多项式的值和根
4.1.3多项式的四则运算
4.1.4多项式的微积分运算
4.1.5多项式的部分分式展开
4.2数据插值
4.2.1一维插值
4.2.2二维插值
4.2.3多维插值
4.3数据拟合
4.4数据统计
4.4.1矩阵元素的最大值和最小值
4.4.2矩阵元素的平均值和中值
4.4.3矩阵元素的排序
4.4.4矩阵元素求和和求积
4.4.5矩阵元素的累加和与累乘积
4.4.6标准方差和相关系数
4.5数值计算
4.5.1函数极值
4.5.2函数零点
4.5.3数值差分
4.5.4数值积分
4.5.5常微分方程求解
4.6应用实例
习题4
第5章MATLAB符号运算
5.1MATLAB符号运算的特点
5.2MATLAB符号对象的创建和使用
5.3符号多项式函数运算
5.3.1多项式函数的符号表达形式及相互转换
5.3.2符号多项式的向量表示形式及其计算
5.3.3反函数和复合函数求解
5.4符号微积分运算
5.4.1函数的极限和级数运算
5.4.2符号微分运算
5.4.3符号积分运算
5.5符号方程求解
5.5.1符号代数方程求解
5.5.2符号常微分方程求解
5.5.3一维偏微分方程求解
5.6应用实例
习题5
第6章MATLAB数据可视化
6.1概述
6.2二维曲线的绘制
6.2.1绘图基本函数
6.2.2线性图格式设置
6.2.3图形修饰
6.2.4图形保持
6.2.5多个图形绘制
6.3二维特殊图形的绘制
6.3.1柱状图
6.3.2饼形图
6.3.3直方图
6.3.4离散数据图
6.3.5向量图
6.3.6极坐标图
6.3.7对数坐标图
6.3.8双纵坐标绘图
6.3.9函数绘图
6.4三维曲线和曲面的绘制
6.4.1绘制三维曲线图
6.4.2绘制三维曲面图
6.4.3特殊的三维图形
6.4.4绘制动画图形
6.5MATLAB图形窗口
6.6应用实例
习题6
第7章Simulink仿真基础
7.1Simulink概述
7.1.1Simulink的基本概念
7.1.2Simulink模块的组成
7.1.3Simulink中的数据类型
7.2Simulink的使用
7.2.1Simulink的启动和退出
7.2.2在Simulink的窗口创建一个新模型
7.2.3Simulink模块的操作
7.2.4Simulink的建模和仿真
7.3Simulink的模块库及模块
7.3.1CommonlyUsedBlocks子模块库
7.3.2Continuous子模块库
7.3.3Dashboard子模块库
7.3.4Discontinuous子模块库
7.3.5Discrete子模块库
7.3.6LogicandBitOperations子模块库
7.3.7LookupTables子模块库
7.3.8MathOperations子模块库
7.3.9ModelVerification子模块库
7.3.10Model�瞁ideUtilities子模块库
7.3.11Ports&Subsystems;子模块库
7.3.12SignalsAttributes子模块库
7.3.13SignalsRouting子模块库
7.3.14Sinks子模块库
7.3.15Sources子模块库
7.3.16User�瞕efinedFunctions子模块库
7.4Simulink模块操作及建模
7.4.1Simulink模型
7.4.2Simulink模块的基本操作
7.4.3系统模型注释与信号标签设置
7.4.4Simulink建模
7.5Simulink模块及仿真参数设置
7.5.1模块参数设置
7.5.2Simulink仿真参数设置
7.6过零检测和代数环
7.6.1过零检测
7.6.2代数环
7.7应用实例
习题7
第二部分MATLAB/Simulink应用篇
第8章MATLAB在电子信息处理中的应用
8.1MATLAB在信号与系统中的应用
8.1.1信号及表示
8.1.2信号的基本运算
8.1.3信号的能量和功率
8.1.4线性时不变系统的创建
8.1.5线性时不变系统的时域分析
8.1.6线性时不变系统的频域分析
8.2MATLAB在数字信号处理中的应用
8.2.1傅里叶变换
8.2.2IIR数字滤波器的设计
8.2.3FIR数字滤波器的设计
8.3MATLAB在数字图像处理中的应用
8.3.1数字图像的读取、显示和存储
8.3.2数字图像的类型及转换
8.3.3图像的基本运算
8.3.4图像增强
8.3.5图像滤波
8.3.6图像边缘检测
8.3.7图像压缩
第9章MATLAB在控制系统中的应用
9.1控制系统的模型描述
9.1.1控制系统的模型与表达式
9.1.2控制系统模型间的关系
9.2控制系统的时域分析与MATLAB实现
9.2.1线性系统的稳定性分析
9.2.2控制系统的动态响应
9.2.3控制系统的时域响应指标
9.3控制系统的频域分析与MATLAB实现
9.3.1控制系统的频域分析
9.3.2控制系统的频域分析性能指标
9.4控制系统的根轨迹分析
9.4.1控制系统的根轨迹分析
9.4.2根轨迹设计工具
9.5控制系统的状态空间分析
9.5.1状态空间的线性变换
9.5.2状态空间的能控性和能观性
9.5.3状态空间的状态反馈与极点配置
9.6控制系统综合实例与应用设计
9.6.1控制系统综合实例
9.6.2简单运动系统的建模及仿真
9.6.3“弹簧�仓柿开沧枘帷毕低车慕�模及仿真
9.6.4单容过程系统的建模及仿真
第10章MATLAB在通信系统中的应用
10.1MATLAB通信工具箱的组成
10.2信息量度与信源编码
10.2.1信息的量度计算
10.2.2模拟信号量化和数字化
10.2.3信源编码
10.3差错控制和信道编码
10.3.1线性分组码编解码
10.3.2交织编码
10.3.3扰码与解扰
10.4模拟调制与解调
10.4.1幅度调制与解调
10.4.2角度调制与解调
10.5数字调制与解调
10.5.1数字调制
10.5.2数字解调
10.6数字通信系统性能仿真
10.6.1数字信号的比特能量与AWGN信道
10.6.2数字通信系统的误码率仿真
第三部分MATLAB/Simulink实验篇
第11章MATLAB实验
实验一MATLAB运算基础
实验二向量和矩阵的运算
实验三字符串及矩阵分析
实验四M脚本文件和函数文件
实验五程序结构设计
实验六多项式运算及多项式插值和拟合
实验七数据统计和数值计算
实验八符号计算
实验九MATLAB绘图
实验十Simulink仿真
附录习题答案
参考文献
第3章MATLAB程序结构和M文件
本章要点:
�ǔ绦蚪峁梗�
�∕文件;
�∕函数文件;
�ǔ绦虻饔谩�
MATLABR2016a和其他高级编程语言(如C语言和FORTRAN语言)一样,要实现复杂的功能需要编写程序文件和调用各种函数。
3.1程序结构
MATLAB语言有三种常用的程序控制结构:顺序结构、选择结构和循环结构。MATLAB语言里的任何复杂程序都可以由这三种基本结构组成。
3.1.1顺序结构
顺序结构是MATLAB语言程序的最基本的结构,是指按照程序中的语句排列顺序依次执行,每行语句是从左往右执行,不同行语句是从上往下执行。一般数据的输入和输出、数据的计算和处理程序都是顺序结构。顺序结构的基本流程如图3��1所示,程序先执行语句A,然后执行语句B,最后执行语句C。
图3��1顺序结构流程图
1.数据的输入
MATLAB语言要从键盘输入数据,可以使用input函数,该函数的调用格式有如下两种。
1)x=input('提示信息')
其中,提示信息表示字符串,用于提示用户输入什么样的数据,等待用户从键盘输入数据,赋值给变量x。
例如,从键盘中输入变量x,可以用下面的命令实现:
>>x=input('输入变量x:')
输入变量x:3
x=
3
执行该语句时,命令行窗口显示提示信息“输入变量x:”,然后等待用户从键盘输入x的值。
2)str=input('提示信息','s')
其中,该格式用于用户输入一个字符串,赋值给字符变量str。
例如,用户想从键盘输入自己的名字,赋值给字符变量str,可以采用下面命令:
>>str=input('what''syourname?','s')
what'syourname?XuGuobao
str=
XuGuobao
执行该语句时,命令行窗口显示提示信息“what'syourname?”,然后等待用户从键盘输入字符变量str的值。
2.数据的输出
MATLAB语言可以在命令窗口显示输出信息,可以用函数disp实现,该函数的调用格式如下:
disp('输出信息')
其中,输出信息可以是字符串,也可以是矩阵信息。例如:
>>disp('What''syourname?')
disp('MynameisXuGuobao')
What'syourname?
MynameisXuGuobao
>>A=[12;34];
>>disp(A)
12
34
需要注意,用disp函数显示矩阵信息将不显示矩阵的变量名,输出格式更紧凑,没有空行。
【例3��1】从键盘输入a、b和c的值,求解一元二次方程ax2+bx+c=0的根。
程序代码如下:
a=input('a=');
b=input('b=');
c=input('c=');%从键盘输入a、b和c的值
delt=b*b-4*a*c;
x1=(-b+sqrt(delt))/(2*a);
x2=(-b-sqrt(delt))/(2*a);
disp(['x1=',num2str(x1)]);%显示x1和x2的值
disp(['x2=',num2str(x2)]);
程序运行结果是:
>>exam_3_1
a=1
b=-5
c=6
MATLAB/Simulink实用教程:编程、仿真及电子信息学科应用(高等学校电子信息类专业系列 下载 mobi epub pdf txt 电子书 格式MATLAB/Simulink实用教程:编程、仿真及电子信息学科应用(高等学校电子信息类专业系列 下载 mobi pdf epub txt 电子书 格式 2024
MATLAB/Simulink实用教程:编程、仿真及电子信息学科应用(高等学校电子信息类专业系列 下载 mobi epub pdf 电子书MATLAB/Simulink实用教程:编程、仿真及电子信息学科应用(高等学校电子信息类专业系列 mobi epub pdf txt 电子书 格式下载 2024