通信系统仿真(第二次课).ppt_第1页
通信系统仿真(第二次课).ppt_第2页
通信系统仿真(第二次课).ppt_第3页
通信系统仿真(第二次课).ppt_第4页
通信系统仿真(第二次课).ppt_第5页
已阅读5页,还剩68页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、通信系统仿真,讲授人:肖湘 Email:,例1-1 绘制正弦曲线和余弦曲线。x=0:0.5:360*pi/180;plot(x,sin(x),x,cos(x) 例1-2 求方程 3x4+7x3 +9x2-23=0的全部根。p=3,7,9,0,-23; %建立多项式系数向量x=roots(p) %求根,例1-3 求积分 syms x s=int(sqrt(1+x)/x)/x , x),例1-4 求1,500之间的全部完数。,for m=1:500 s=0; for k=1:m/2 if rem(m,k)=0 s=s+k; end end,if m=s disp(m); end end,例1-5

2、求解线性系统 3x1+x2-x3 = 3.6 x1+2x2+4x3 = 2.1 -x1+4x2+5x3 = -1.4 程序: A=3 1 -1;1 2 4;-1 4 5; b=3.6;2.1;-1.4; x=Ab 结果:x = 1.4818 -0.4606 0.3848,Ax=b,例1-6 用简短命令计算并绘制在0 x6范围内的sin(2x)、sinx2、sin2x。 x=linspace(0,6) y1=sin(2*x),y2=sin(x.2),y3=(sin(x).2; plot(x,y1,x, y2,x, y3),动态图形,立体图,精细图形,工程应用图形,等位图等,动态建模仿真,Matl

3、ab绘图,三维曲面: x=-2:0.2:2;y=x; x,y=meshgrid(x,y); z=x.*exp(-x.2-y.2); mesh(z) 三维曲线 t=0:pi/50:10*pi;x=cos(t);y=sin(t); plot3(x,y,t,b*-); xlabel(x=cos(t);ylabel(x=sin(t);zlabel(z); title(三维螺柱线);grid on;,Matlab语言基础: 矩阵,矩阵的生成,例如:创建一个33矩阵 输入 :a=1 2 3;4 5 6;7 8 9 或者a=1 2 3 4 5 6 7 8 9 屏幕输出: a = 1 2 3 4 5 6 7

4、8 9,矩阵的元素直接排列在方括号内 行与行之间用分号隔开 每行内的元素使用空格或逗号隔开 大的矩阵可以用分行输入,回车键代表分号,一些常用的特殊矩阵,eye(2,3) ans= 1 0 0 0 1 0,eye(2) ans= 1 0 0 1,V=5 7 2; A=diag(V) A= 5 0 0 0 7 0 0 0 2,Matlab语言基础: 矩阵,单位矩阵:eye(m,n); eye(m) 零矩阵: zeros(m,n); zeros(m) 一矩阵: ones(m,n); ones(m) 对角矩阵:对角元素向量 V=a1,a2,an A=diag(V) 随机矩阵:rand(m,n)产生一个

5、mn的均匀分布的随机矩阵,zeros(2,3) ans= 0 0 0 0 0 0,zeros(2) ans= 0 0 0 0,ones(2,3) ans= 1 1 1 1 1 1,ones(2) ans= 1 1 1 1,rand(2,2) ans = 0.4154 0.8744 0.0150 0.9708,矩阵元素的访问 通过确认矩阵下标,可以对矩阵的子块进行插入、提取和重排 注意:MATLAB中矩阵下标从1开始,而不是从0开始,Matlab语言基础: 矩阵,A(m,n):提取第m行,第n列元素 A(:,n) :提取第n列元素 A(m,:) :提取第m行元素 A(m1:m2,n1:n2):提

6、取m1m2行和n1 n2列的所有元素 A(:) :得到一个长列矢量,其元素按矩阵的列进行排列,A= 1 2 3 4 5 6;,A(2,1) ans=4,A(2,:) ans= 4 5 6,A(:,2) ans= 2 5,A(1:2,2:3) ans= 2 3 5 6,A(:) ans= 1 4 2 5 3 6,矩阵的扩展与消除 矩阵扩展:如果在原矩阵中一个不存在的地址位置上设定一个数(赋值),则该矩阵会自动扩展行列数,并在该位置上添加这个数,而且在其他没有指定的位置补零。 消除子块:如果将矩阵的子块赋值为空矩阵 ,则相当于消除了相应的矩阵子块。,Matlab语言基础: 矩阵,A= 1 2 3

7、4 5 6;,A(3,2)=7 A=1 2 3 4 5 6 0 7 0,A(2,:)= A=1 2 3,矩阵的运算,举例 A=1+i 2-2i; -3+3i -4-4i A= 1+ i 2-2i -3+3i -4-4i,B=A B= 1- i -3-3i 2+2i -4+4i,C=A. C= 1+ i -3+3i 2-2i -4-4i,Matlab语言基础: 矩阵,转置:转置符号有两种形式 A - 共轭转置 A. - 普通转置 求逆 :inv(A) 求行列式:det(A),矩阵的四则运算与幂运算,.* - 点乘 . - 点右除 ./ - 点左除 . - 点幂,点运算是两个维数相同矩阵对应元素间

8、的运算,Matlab语言基础: 矩阵, - 矩阵加 - 矩阵减 * - 矩阵乘 / - 矩阵左除 - 矩阵右除 - 矩阵幂,内容,程序控制语句,1,输入输出语句,2,绘图,3,基本数学函数,4,内容,程序控制语句,1,Switch 语句,If 语句,While 语句,For 语句,1 控制流,计算机程序通常都是从前到后按顺序逐一执行的,但往往也需要根据实际情况,中途改变执行的次序,成为程序控制或流程控制。在MATLAB中提供了if,switch,while,for等多种流程控制语句。这些语句的功能和作用,可通过Help matlablang 命令来获取。,1.1 if 语句,If语句称为条件执

9、行语句,其关键字包括if ,else, elseif, end 。通常条件执行语句有三种格式: 格式之一: if 表达式 语句组A end 其工作流程如图所示。 注意:语句中的end是决不可少的,没有它,在逻辑 表达式为0时,就找不到继续执行程序的入口。,格式之二: if 表达式 语句组A else 语句组B end 其工作流程如图所示。,1.1 if 语句,格式之三: if 表达式1 语句组A elseif 表达式2 语句组B else 语句组C end 工作流程原理如图2.3所示。,1.1 if 语句,例: 输入一个数n,判断n是否小于0,如果小于0,直接输出“n is negative”

10、;如果不是,判断这个数的奇偶性。 n=input(n=?); if n0 disp(n is negative); elseif rem(n,2)=0 disp(n is even); else disp(n is odd); end,1.1 if 语句,switch 选择表达式 case 情况表达式1 语句组1 case 情况表达式2 语句组2 otherwise 语句组n end,switch语句,也是条件选择结构。其关键字包括switch、case、otherwise和end。它主要用于有选择性的程序设计,实现程序的多分支选择。其调格式为:,1.2 Switch 语句,例: 输入一个数v

11、,判断n是等于1?是属于2,3,4中间的一个数?是等于5?还是其它数?,1.2 Switch语句,v=input(v=?); switch v case 1 disp(v=1); case 2,3,4 disp(v=2 or 3 or 4);,case 5 disp(v=5); otherwise disp(other value); end,while语句为条件循环语句,循环执行一组语句,执行次数不确定,而是决定于一些逻辑条件。其关键字包括while、end、break等。 基本调用格式: while 表达式 语句A end,1.3 While语句,例: 输入a=5,每次将它除以2,问在a大

12、于1的前提下,这样可以除几次? num=0;a=5; while a1 a=a/2; num=num+1; end num,1.3 While语句,for语句也是循环语句,但与while语句不同的是,它循环执行一组语句的执行次数是 确定。其关键字包括for、end、break等。调用的基本格式如下: for index=初值:增量:终值 语句组A end 功能:把语句组A(亦称为循环体)反复执行N次。循环次数N为: N1+(终值-初值)/增量 在每次执行时程序中的index的值按“增量”增加。,1.4 for语句,注意: (1) For循环不能用For循环内重新赋值循环变量n来终止。 (2)

13、在For循环内接受任何有效的MATLAB数组。 (3) for循环可按需要嵌套。与其它的编程语言类似,for语句可以嵌套使用。 (4) 当有一个等效的数组方法来解给定的问题时,应避免用For循环。 (5) 为了提高处理的速度,在For循环(While循环)被执行之前,应预先分配数组。,1.4 for语句,例: 输出一个三行四列的矩阵,矩阵中的每个元素等于其行数和列数的乘积。 for i=1:3 for j=1:4 a(i,j)=i*j; end; end;,1.4 for语句,内容,程序控制语句,1,输入输出语句,2,绘图,3,基本数学函数,4,2 数据的输入输出,2.4.1 交互输入与输出命

14、令和函数,1键盘输入命令input 格式一:u=input(提示内容) 格式二: u=input(提示内容,s) 在屏幕上显示提示内容,等待从键盘输入,将输入的符号以字符串赋给文本(字符串)变量u。,2暂停执行命令pause pause 常用在M文件中,用于停止执行,直接按任意键继续执行; pause(n) 暂停执行n秒后继续执行; pause on 允许一系列pause命令暂停程序执行; pause off 保证任何pause命令和pausea(n)语句不能暂停程序执行。,3显示命令 disp 功能:显示指定的变量或变量的内容。 调用格式:disp(变量名),4按格式要求输出变量命令spri

15、ntf 功能:按格式要求输出变量 调用格式:sprintf(显示格式,变量)。 例: sprintf(%d,round(pi) sprintf(%s,hello),2 数据的输入输出,内容,程序控制语句,1,输入输出语句,2,绘图,3,基本数学函数,4,3 基本数学函数,3.1 三角函数 1正弦sin函数与反正弦函数asin函数 格式:Asin(X) 功能:对矩阵或数组X的每个元素求正弦值,所有角度用弧度表示。 格式:Xasin(A) 功能:对于A的元素求反正弦值,结果为弧度。,2双曲正弦sinh函数与反双曲正弦函数asinh函数 格式:Asinh(X) 功能:对矩阵或数组X的每个元素求双曲正

16、弦值。 格式:Xasinh(A) 功能:对于A的元素求反双曲正弦值。,3余弦cos函数与反余弦函数acos函数 格式:Acos(X) 功能:对矩阵或数组X的每个元素求余弦值,所有角度用弧度表示。 格式:Xacos(A) 功能:对于A的元素求反余弦值,结果为弧度。,4双曲余弦cosh函数与反双曲余弦函数acosh函数 格式:Acosh(X) 功能:对矩阵或数组X的元素求双曲余弦值。 格式:Xacosh(A) 功能:对于A的元素求反双曲余弦值。,5正切tan函数与反正切函数atan函数 格式:Atan(X) 功能:对矩阵或数组X的每个元素求正切值,所有角度用弧度表示。 格式:Xatan(A) 功能

17、:对于A的每个元素求反正切值,结果为弧度。,3.1 三角函数,6四象限反正切atan2函数 格式:P=atan2(Y,X) 功能:四象限反正切函数。返回大小与Y、X相同的矩阵或数组,由Y和X对应元素的 实部求反正切值得到,其中虚部忽略。,7双曲正切tanh函数与反双曲正切atanh函数 格式:Atanh(X) 功能:对于X的每个元素求双曲正切值。 格式:Xatanh(A) 功能:对于A的每个元素求反双曲正切值。,8正割sec函数与反正割asec函数 格式:Asec(X) 功能:对X的每个元素求正割。 格式:Xasec(A) 功能:返回A的每个元素的反正割值。,3.1 三角函数,9双曲正割sec

18、函数与反双曲正割asec函数 格式:Asech(X) 功能:对X的每个元素求双曲正割。 格式:Xasech(A) 功能:返回A的每个元素的反双曲正割值。,10余割csc函数与反余割acsc函数 格式:Acsc(X) 功能:对X的每个元素求正割。 格式:Xachc(A) 功能:返回A的每个元素的反正割值。,3.1 三角函数,11双曲余割csch函数与反双曲余割asch函数 格式:A=csch(X) 功能:对X的每个元素求双曲余割。 格式:Xacsch(A) 功能:返回A的每个元素的反双曲余割值。,12余切cot函数与反余切acot函数 格式:A=cot(X) 功能:对X的每个元素求余切。 格式:

19、Xacot(A) 功能:返回A的每个元素的反余切值。,13双曲余切coth函数与反双曲余切函数acoth函数 格式:A=coth(X) 功能:对X的每个元素求双曲余切。 格式:Xacoth(A) 功能:返回A的每个元素的反双曲余切值,3.1 三角函数,3.2 指数、对数、幂运算,1指数函数与自然对数log函数 格式:Aexp(X) 功能:返回X每个元素的以e为底的指数值。 格式:Xlog(A) 功能:返回A的每个元素的自然对数。,2常用对数logl0函数 格式:Xlogl0(A) 功能:对A的每个元素求常用对数。,3 log2函数和幂函数pow2 格式:Xlog2(A) 功能:对A的每个元素计

20、算其以2为底的对数。 格式:A=pow2(X) 功能:A的元素为2对X每个元素求幂得到。,4平方根函数 格式:A=sqrt(X) 功能:返回对数组X每个元素求平方根的数组,如果元素为负或复数,则结果为复数。,3.2 指数、对数、幂运算,1求复数实部函数 格式:X=real(Z) 功能:返回复数Z的每个元素的实部。 2求复数的虚部函数 格式:Y=imag(Z) 功能:返回复数Z的每个元素的虚部。 3绝对值和复数模函数 格式:A=abs(Z) 功能:返回Z每个元素的绝对值。如果Z的元素是复数,则返回其模。,4求相角函数 格式:P=angle(Z) 功能:对Z的每个元素求相角。 5共轭函数 格式:C

21、=conj(Z) 功能:对Z的每个元素求共轭复数。,3.3 复数运算,MATLAB的所有运算都是定义在复数域上的 ,在运算时不需要把实部与虚部分开。 复数 直角坐标表示和极坐标表示之间转换的MATLAB指令: real(z)给出复数Z的实部 。 imag(z)给出复数Z的虚部 。 abs(z) 给出复数Z的模 。 angle(z) 以弧度为单位给出复数Z的幅角 。,3.3 复数运算,(1)采用运算符构成的直角坐标表示法和极坐标表示法 z1=4+3*i z2 = 1 + 2 * i %运算符构成的直角坐标表示法 z3=2*exp(i*pi/6) %运算符构成的极坐标表示法 z=z1*z2/z3,

22、3.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 %度数单位,3.3 复数运算,3.4数据的取舍与保留,1向0方向取整数函数 格式:I=fix(X) 返回X中每个元素的最靠近零的整数。若X为复数,则分别对X的实部和虚部取整。,2向-方向取整数函数 格式:I=floor(X) 返回X中每个元素的最靠近该元素的最小整数。若X为复数,则分别对X的实部和虚部取最小整。,3.4数据的

23、取舍与保留,3向方向取整数函数 格式:I=ceil(X) 返回X中每个元素的最靠近该元素的最大整数。若X为复数,则分别对X的实部和虚部取最大整数。 4四舍五入取整数函数 格式:I=round(X) 返回X中每个元素的最靠近该元素的整数。若X为复数,则分别对X的实部和虚部取整数。,5模数余函数 格式:M=mod(X,Y) 返回X关于Y的余数。 6除后余数函数 格式:M=rem(X,Y) 功能:返回X关于Y的余数。,7符号函数 格式:s=sign(X) 如果X大于零,则返回1;如果X等于零,则返回0;如果X小于零,则返回-1。,3.4数据的取舍与保留,例: 求矩阵6 7 5;3 6 9;4 1 5

24、的如下运算 与20相加的常数运算 逆矩阵 矩阵的特征根 矩阵的乘方运算 开放验证,复习,例: 求矩阵6 7 5;3 6 9;4 1 5的如下运算 与20相加的常数运算 逆矩阵 矩阵的特征根 矩阵的乘方运算 开放验证,复习,a=6 7 5;3 6 9;4 1 5 b=20+a c=inv(a) eig(a) d=a2 e=sqrtm(a),复习,内容,Matlab绘图基础,3,Matlab绘图基础,MATLAB提供了丰富的绘图功能,help graph2d可得到所有画二维图形的命令 help graph3d可得到所有画三维图形的命令,plot(x,y,属性)或者stem():绘图 figure:

25、选择图像 figure(1);figure(2);figure(n) 打开不同的图形窗口,以便绘制不同的图形 grid on:在所画出的图形坐标中加入栅格 grid off:除去图形坐标中的栅格 hold on: 当前图形保持不变,同时允许在这个坐标内绘制另外一个图形 hold off:使新图覆盖旧的图形,Matlab绘图基础,举例: t=0:pi/20:9*pi; f=sin(t); figure(1) plot(t,f,r:*) grid on,Matlab绘图基础,设定对数坐标,Matlab绘图基础,semilogx:x轴为对数坐标,y轴为线性坐标 semilogy:y轴为对数坐标,x轴

26、为线性坐标,设定轴的范围,axis(xmin xmax ymin ymax) axis(equal):将x坐标轴和y坐标轴的单位刻度调整为一样,文字标示,Matlab绘图基础,text(x,y,字符串) 在图形的指定坐标位置(x,y)处,标示单引号括起来的字符串 gtext(字符串) 利用鼠标在图形的某一位置标示字符串 title(字符串) 在所画图形的最上端显示说明该图形标题的字符串 xlabel(字符串),ylabel(字符串) 设置x,y坐标轴的名称。 legend(字符串1,字符串,字符串n) 在屏幕上开启一个小视窗,然后依据绘图命令的先后用对应的字符串区分图形上的线,t=0:pi/20:5*pi; f=sin(t) figure(1) subplot(121) plot(t,f) grid on subplot(122) plot(t,-f

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论