收藏 分享(赏)

通信系统仿真(第三次课).ppt

上传人:yjrm16270 文档编号:6373029 上传时间:2019-04-09 格式:PPT 页数:53 大小:969KB
下载 相关 举报
通信系统仿真(第三次课).ppt_第1页
第1页 / 共53页
通信系统仿真(第三次课).ppt_第2页
第2页 / 共53页
通信系统仿真(第三次课).ppt_第3页
第3页 / 共53页
通信系统仿真(第三次课).ppt_第4页
第4页 / 共53页
通信系统仿真(第三次课).ppt_第5页
第5页 / 共53页
点击查看更多>>
资源描述

1、通信系统仿真,讲授人:肖湘 Email:,内容,程序控制语句,Switch 语句,If 语句,While 语句,For 语句,内容,M文件,1,基本数学函数,2,3,绘图,1. M文件,M文件:由MATLAB命令语句构成的程序文件称作M文件,它将m作为文件的扩展名。可以直接阅读并用任何文本编辑器来建立这种文件。M文件可分为两种:主程序和子程序。 主程序 (也称主程序文件): 一般是由用户为解决特定的问题而编制的程序。 子程序 (称为函数文件):它必须由其它M文件来调用。函数文件往往具有一定的通用性,并且可以进行递归调用。,1.1 主程序,主程序文件的格式特征如下:(1)有关程序的功能、使用方法

2、等内容的注释。主程序前面的若干行通常是程序的注释,每行以“”开始。(2)程序的主体。(3)整个程序应按MATLAB标识符的要求起文件名,并加上后缀m。,1.1 主程序,对主程序文件的运行方式通常有两种: 在MATLAB的命令窗口中运行:在MATLAB的命令窗中键入此程序的文件名后,系统就开始执行文件中的程序; 输入:文件名(直接运行)type 文件名(显示程序)。 在编辑窗口中运行:通过编辑窗口打开所要运行的文件,然后再运行。主程序文件中的语句可以对MATLAB工作空间中的所有数据进行运算操作。,举 例,t=0:0.5:4*pi;y=sin(t); subplot(2,2,1); stem(t

3、,y) %棒状图 title(stem(t,y),pausesubplot(2,2,2); stairs(t,y) %阶梯图 title(stairs(t,y),pause,subplot(2,2,3); bar(t,y) %条形图 title(bar(t,y),pause subplot(2,2,4); fill(t,y,r); %填充图 title(fill(t,y),pause,1.2 函数文件,2函数文件结构 函数文件是用来定义子程序的。它与主程序文件的主要区别有三点: (1)由function起头,后跟的函数名必须与文件名相同; (2)有输入输出变元(变量),可进行变量传递; (3)

4、除非用global声明,程序中的变量均为局部变量,不保存在工作空间中。,1.2 函数文件,通常,函数文件由五部分构成: 函数定义行; H1行:帮助显示函数的重要信息。 函数帮助文本; 函数体; 注释。,给大家的建议,自己去编写课程相关的函数: 养成好的习惯: 变量、函数的命名有意义,加入注释(%),增强可读性 .m文件(主程序)开头先把环境打扫干净(clc;clear)!注意在子程序中不要用clear 尽量使用矩阵运算 程序尽量模块化,即采用主程序调用子程序 参数值最好集中放在程序的开始部分,以便维护,内容,M文件,1,基本数学函数,2,3,绘图,2 基本数学函数,2.1 三角函数1正弦sin

5、函数与反正弦函数asin函数 格式:Asin(X) 功能:对矩阵或数组X的每个元素求正弦值,所有角度用弧度表示。 格式:Xasin(A) 功能:对于A的元素求反正弦值,结果为弧度。,2双曲正弦sinh函数与反双曲正弦函数asinh函数 格式:Asinh(X) 功能:对矩阵或数组X的每个元素求双曲正弦值。 格式:Xasinh(A) 功能:对于A的元素求反双曲正弦值。,3余弦cos函数与反余弦函数acos函数 格式:Acos(X) 功能:对矩阵或数组X的每个元素求余弦值,所有角度用弧度表示。 格式:Xacos(A) 功能:对于A的元素求反余弦值,结果为弧度。,4双曲余弦cosh函数与反双曲余弦函数

6、acosh函数 格式:Acosh(X) 功能:对矩阵或数组X的元素求双曲余弦值。 格式:Xacosh(A) 功能:对于A的元素求反双曲余弦值。,5正切tan函数与反正切函数atan函数 格式:Atan(X) 功能:对矩阵或数组X的每个元素求正切值,所有角度用弧度表示。 格式:Xatan(A) 功能:对于A的每个元素求反正切值,结果为弧度。,2.1 三角函数,6四象限反正切atan2函数 格式:P=atan2(Y,X) 功能:四象限反正切函数。返回大小与Y、X相同的矩阵或数组,由Y和X对应元素的 实部求反正切值得到,其中虚部忽略。,7双曲正切tanh函数与反双曲正切atanh函数 格式:Atan

7、h(X) 功能:对于X的每个元素求双曲正切值。 格式:Xatanh(A) 功能:对于A的每个元素求反双曲正切值。,8正割sec函数与反正割asec函数 格式:Asec(X) 功能:对X的每个元素求正割。 格式:Xasec(A) 功能:返回A的每个元素的反正割值。,2.1 三角函数,9双曲正割sec函数与反双曲正割asec函数 格式:Asech(X) 功能:对X的每个元素求双曲正割。 格式:Xasech(A) 功能:返回A的每个元素的反双曲正割值。,10余割csc函数与反余割acsc函数 格式:Acsc(X) 功能:对X的每个元素求正割。 格式:Xachc(A) 功能:返回A的每个元素的反正割值

8、。,2.1 三角函数,11双曲余割csch函数与反双曲余割asch函数 格式:A=csch(X) 功能:对X的每个元素求双曲余割。 格式:Xacsch(A) 功能:返回A的每个元素的反双曲余割值。,12余切cot函数与反余切acot函数 格式:A=cot(X) 功能:对X的每个元素求余切。 格式:Xacot(A) 功能:返回A的每个元素的反余切值。,13双曲余切coth函数与反双曲余切函数acoth函数 格式:A=coth(X) 功能:对X的每个元素求双曲余切。 格式:Xacoth(A) 功能:返回A的每个元素的反双曲余切值,2.1 三角函数,2.2 指数、对数、幂运算,1指数函数与自然对数l

9、og函数 格式:Aexp(X) 功能:返回X每个元素的以e为底的指数值。 格式:Xlog(A) 功能:返回A的每个元素的自然对数。,2常用对数logl0函数 格式:Xlogl0(A) 功能:对A的每个元素求常用对数。,3 log2函数和幂函数pow2 格式:Xlog2(A) 功能:对A的每个元素计算其以2为底的对数。 格式:A=pow2(X) 功能:A的元素为2对X每个元素求幂得到。,4平方根函数 格式:A=sqrt(X) 功能:返回对数组X每个元素求平方根的数组,如果元素为负或复数,则结果为复数。,2.2 指数、对数、幂运算,1求复数实部函数 格式:X=real(Z) 功能:返回复数Z的每个

10、元素的实部。 2求复数的虚部函数 格式:Y=imag(Z) 功能:返回复数Z的每个元素的虚部。 3绝对值和复数模函数 格式:A=abs(Z) 功能:返回Z每个元素的绝对值。如果Z的元素是复数,则返回其模。,4求相角函数 格式:P=angle(Z) 功能:对Z的每个元素求相角。 5共轭函数 格式:C=conj(Z) 功能:对Z的每个元素求共轭复数。,2.3 复数运算,MATLAB的所有运算都是定义在复数域上的 ,在运算时不需要把实部与虚部分开。 复数 直角坐标表示和极坐标表示之间转换的MATLAB指令:real(z) 给出复数Z的实部 。imag(z) 给出复数Z的虚部 。abs(z) 给出复数

11、Z的模 。angle(z) 以弧度为单位给出复数Z的幅角 。,2.3 复数运算,(1)采用运算符构成的直角坐标表示法和极坐标表示法 z1=4+3*i z2 = 1 + 2 * i %运算符构成的直角坐标表示法 z3=2*exp(i*pi/6) %运算符构成的极坐标表示法 z=z1*z2/z3,2.3 复数运算,(2)复数的实虚部、模和幅角计算real_z=real(z)image_z=imag(z)magnitude_z=abs(z)angle_z_radian=angle(z) %弧度单位angle_z_degree=angle(z)*180/pi%度数单位,2.3 复数运算,2.4 数据的

12、取舍与保留,1向0方向取整数函数 格式:I=fix(X) 返回X中每个元素的最靠近零的整数。若X为复数,则分别对X的实部和虚部取整。,2向-方向取整数函数 格式:I=floor(X) 返回X中每个元素的最靠近该元素的最小整数。若X为复数,则分别对X的实部和虚部取最小整。,2.4 数据的取舍与保留,3向方向取整数函数 格式:I=ceil(X) 返回X中每个元素的最靠近该元素的最大整数。若X为复数,则分别对X的实部和虚部取最大整数。 4四舍五入取整数函数 格式:I=round(X) 返回X中每个元素的最靠近该元素的整数。若X为复数,则分别对X的实部和虚部取整数。,5模数余函数 格式:M=mod(X

13、,Y) 返回X关于Y的余数。 6除后余数函数 格式:M=rem(X,Y) 功能:返回X关于Y的余数。,7符号函数 格式:s=sign(X) 如果X大于零,则返回1;如果X等于零,则返回0;如果X小于零,则返回-1。,2.4 数据的取舍与保留,例: 求矩阵6 7 5;3 6 9;4 1 5的如下运算 与20相加的常数运算 逆矩阵 矩阵的特征根 矩阵的乘方运算 开方验证,练 习,a=6 7 5;3 6 9;4 1 5b=20+ac=inv(a) eig(a) d=a2 e=sqrtm(d),复习,内容,Matlab绘图基础,3,3.1 Matlab绘图基础,MATLAB提供了丰富的绘图功能,hel

14、p graph2d可得到所有画二维图形的命令 help graph3d可得到所有画三维图形的命令,举例:t=0:pi/20:9*pi;f=sin(t);figure(1) plot(t,f,r:*)grid on,3.1 Matlab绘图基础,3.2图形窗口的控制,在MATLAB中,图形的绘制必须在图形窗中进行。通常,只要执行了任意一种绘图命令,图形窗口(Figure)就会自动产生。此时,所生成的图形窗口称为当前图形窗,绘图命令所绘制的图形将在当前图形窗中完成。 1figure命令 格式:figure 或 figure(N) 功能:创建一个图形窗口。使编号为N的图形窗口成为当前图形窗口,即图形

15、窗口处于可视状态。如果窗口N不存在,则将创建一个句柄为N的图形窗口。,3.2 图形窗口的控制,2clf命令:清除当前图形窗口中的所有的内容。 格式:clf3close命令:关闭图形窗口 格式一:close 或 close (N) 关闭当前图形窗口或指定编号N的图形窗口。 格式二:close all 关闭所有图形窗口。,3.2 图形窗口的控制,4hold命令 格式:hold on (off) 功能:保持当前图形窗的内容,或取消hold on的命令功能,恢复系统默认状态。通常,MATLAB在执行某一绘图命令时,系统会自动将当前图形窗口中的内容清除,然后再绘制。hold命令的功能就是保持当前图形窗的

16、内容,使后续绘制函数仍可该图形窗口中完成绘图,实现一张图中绘制多个图形。若再键入hold命令就解除冻结。这种拉线开关式的控制有时会造成混乱,可以用hold on和hold off命令来得到确定的状态。,3.2 图形窗口的控制,5subplot命令 功能:将一个图形窗口划分为多个子图形窗口 格式:subplot(m,n,p) 或 subplot(nmp) 将图形窗口分成nm个子图形窗口,并选择第p个子图形窗口作为当前图形窗口,供绘制函数作图使用。,t=0:pi/20:5*pi; f=sin(t) figure(1) subplot(121) plot(t,f) grid on subplot(1

17、22) plot(t,-f) grid on,Subplot,subplot(mnk):分割图形显示窗口m:上下分割个数,n:左右分割个数,k:子图编号,举 例,t=0:0.5:4*pi;y=sin(t); subplot(2,2,1); stem(t,y) %棒状图 title(stem(t,y),pausesubplot(2,2,2); stairs(t,y) %阶梯图 title(stairs(t,y),pause,subplot(2,2,3); bar(t,y) %条形图 title(bar(t,y),pause subplot(2,2,4); fill(t,y,r); %填充图 ti

18、tle(fill(t,y),pause,3.3 二维图形的绘制,1. 二维图形绘制命令plot MATALB为用户提供了一个基本的二维曲线绘图函数plot。 格式一: plot(y)-输入一个数组的情况 功能:如果y是一个数组,函数plot(y)给出线性直角坐标的二维图,该二维图以y中元素的下标作为X坐标,y中元素的值作为Y坐标,一一对应画在XY坐标平面图上,而且将各点以直线相连。若y的元素是复数,则plot(y)等价于plot(real(y),imag(y),其中real(y)是y的实部,imag(y)是y的虚部。若y是矩阵,就按列绘制曲线,曲线的条数等于y矩阵的列数。,3.3 二维图形的绘

19、制,1. 二维图形绘制命令plot 格式二: plot(x,y)-输入两个数组的情况 功能:绘出以x元素为横坐标、y元素为纵坐标的曲线。数组x和y必须具有相同长度。,2线型、标记符号及颜色的设置 为了设定线型、颜色以及标记符号,用户只需在plot的输入变量组后面,加一个引号,在引号内部放入线型、颜色以及标记符号的标志符即可完成。 格式一: plot(y,字符串) 格式二:plot(x, y,字符串),3.3 二维图形的绘制,2线型、标记符号及颜色的设置 (颜色:b g r c m y k ) (线型标识符:- 实线 :点线 -.点划线 -虚线) (符号标识符:o圆圈 :点线 *星号 d钻石符号

20、),3.3 二维图形的绘制,举例:t=0:pi/20:9*pi;f=sin(t);figure(1) plot(t,f,r:*)grid on,3.4二维图形设置,3.4 标注、网格和图例,(1) 添加图形标题命令title格式:title(string) 功能:在当前坐标系的顶部加一个文本串string,作为该图形的标题。(2) 添加坐标轴标志函数xlabe、 ylabel、zlabel 格式:xlabel(text) 或 ylabel(text) 或zlabel(text) 功能:给当前X轴或Y轴或Z轴标注文本标注。,3.4 标注、网格和图例,(3)设置网格线命令grid 格式:grid

21、on(off) 功能:对当前坐标图加上网格线或撤消网格线。若直接调用grid命令即可设置或撤消网格线。(4)图形标注函数legend 格式:legend( string1, string2, string3, .) 功能:在当前图中添加图例。 格式:Legend off 功能:撤消当前坐标图上的图例。,举 例,标注、网格和图例,x=0:pi/50:2*pi; y=sin(x); y2=cos(x); figure(1);plot(x,y,k-,x,y2,b-); grid on; legend(sin(alpha),cos(alpha); text(pi,0,leftarrow sin(alp

22、ha); gtext(cos(alpha)rightarrow); title(sin(alpha) 和cos(alpha); xlabel(alpha); ylabel(sin(alpha) he cos(alpha);,思 考?,对上述程序怎么修改,出现如下图形?,标注、网格和图例,x=0:pi/50:2*pi; y=sin(x); y2=cos(x); figure(3); plot(x,y,ok-,x,y2,db-); grid on; legend(sin(alpha),cos(alpha); text(pi,0,leftarrow sin(alpha); gtext(cos(alp

23、ha)rightarrow); title(sin(alpha) 和cos(alpha); xlabel(alpha); ylabel(sin(alpha) he cos(alpha);,3.5 坐标轴的形式与刻度,(1)设置坐标轴函数axis 格式一:axis(xmin,xmax,ymin,ymax) 功能:对当前二维图形对象的X轴和Y轴进行标定。 格式二:axis(xmin xmax ymin ymax zmin zmax) 功能:对当前三维图形对象的X、Y和Z轴进行标定。 格式三:axis off(on) 功能:使坐标轴、刻度、标注和说明变为不显示(显示)状态。 格式四:axis(man

24、ual) 功能:将冻结当前的坐标比例,以后的图形均以此比例绘出。,举例:x=0:1/3000:1;y=cos(tan(pi*x);figure(1);subplot(2,1,1);plot(x,y);title(复杂函数);,3.5 坐标设置,举例: title(复杂函数); subplot(2,1,2);plot(x,y); axis(0.4 0.6 -1 1); title(复杂函数的局部透视);,3.5 坐标设置,3.6 多条曲线的绘制,在MATALB中,通常,在一张图上绘制多条曲线有以下4种方法。 1使用plot(t, y1 ,y2, )命令 该语句中t是向量,y=y1,y2是矩阵,若t是列向量,则y的列(行)长应与t长度相同。 Y的列(行)数就是曲线的条数。2. 使用hold命令 在画完前一张图形后,用hold命令保持住该图形窗口中的内容,再画下一条曲线。,3.7 复数的绘图,当plot(z)中的z为复数变量时(即含有非零的虚部),MATLAB把复数的实部作为横坐标、虚部作为纵坐标绘图,即相当于plot(real(z),imag(z)。如果是双变量,如plot(t,z) ,则横坐标为t,纵坐标为real(z),z中的虚部将被丢弃。,Thank You for your attention!,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 网络科技 > 网络与通信

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报