现代无线通信技术实验指导书内容摘要:

不同,分别执行不同的语句,其语句格式为: switch 表达式 case 表达式 1 语句组 1 case 表达式 2 语句组 2 …… case 表达式 m 语句组 m otherwise 语句组 n end 当表达式的值等于表达式 1 的值时,执行语句组 1,当表达式的值等于表达式 2 的值时,执行语句组 2, … ,当表达式的值等于表达式 m 的值时,执行语句组 m,当表达式的值不等于 case 所列的表达式的值时,执行语句组 n。 当任意一个分支的语句执行完后,直接执行switch 语句的下一句。 例 18 某商场对顾客所购买的商品实行打折销售,标准如下 (商品价格用 price 来表示 ): price200 没有折扣 200≤ price500 3%折扣 500≤ price1000 5%折扣 1000≤ price2500 8%折扣 2500≤ price5000 10%折扣 5000≤ price 14%折扣 输入所售商品的价格,求其实际销售价格。 程序如下: price=input(39。 请输入商品价格 39。 )。 switch fix(price/100) case {0,1} %价格小于 200 rate=0。 case {2,3,4} %价格大于等于 200 但小于 500 第一章 MATLAB 基础知识 10 rate=3/100。 case num2cell(5:9) %价格大于等于 500 但小于 1000 rate=5/100。 case num2cell(10:24) %价格大于等于 1000 但小于 2500 rate=8/100。 case num2cell(25:49) %价格大于等于 2500 但小于 5000 rate=10/100。 otherwise %价格大于等于 5000 rate=14/100。 end price=price*(1rate) %输出商品实际销售价格  try 语句 语句格式为: try 语句组 1 catch 语句组 2 end try 语句先试探性执行语句组 1,如果语句组 1 在执行过程中出现错误,则将错误信息赋给保留的 lasterr 变量,并转去执行语句组 2。 例 19 矩阵乘法运算要求两矩阵的维数相容,否则会出错。 先求两矩阵的乘积,若出 错,则自动转去求两矩阵的点乘。 程序如下: A=[1,2,3。 4,5,6]。 B=[7,8,9。 10,11,12]。 try C=A*B。 catch C=A.*B。 end C lasterr %显示出错原因 ( 3)循环结构  for 语句 for 语句的格式为: for 循环变量 =表达式 1:表达式 2:表达式 3 循环体语句 end 其中表达式 1 的值为循环变量的初值,表达式 2 的值为步长,表达式 3 的值为循环变量的终值。 步长为 1 时,表达式 2 可以省略。 例 110 一个 三位整数各位数字的立方和等于该数本身则称该数为水仙花数。 输出全部水仙花数。 程序如下: for m=100:999 m1=fix(m/100)。 %求 m 的百位数字 第一章 MATLAB 基础知识 11 m2=rem(fix(m/10),10)。 %求 m 的十位数字 m3=rem(m,10)。 %求 m 的个位数字 if m==m1*m1*m1+m2*m2*m2+m3*m3*m3 disp(m) end end  while 语句 while 语句的一般格式为: while (条件 ) 循环体语句 end 其执行过程为 :若条件成立,则执行循环体语句,执行后再判断条件是否成立,如果不成立则跳出循环。 例 111 从键盘输入若干个数,当输入 0 时结束输入,求这些数的平均值和它们之和。 程序如下: sum=0。 t=0。 val=input(39。 Enter a number (end in 0):39。 )。 while (val~=0) sum=sum+val。 t=t+1。 val=input(39。 Enter a number (end in 0):39。 )。 end if (t 0) sum mean=sum/t end  break 语句和 continue 语句 break 语句用于终止循环的执行。 当在循环体内执行到该语句时,程序将跳出循环,继续执行循环语句的下一语句。 continue 语句控制跳过循环体中的某些语句。 当在循环体内执行到该语句时,程序将跳过循环体中所有剩下的语句,继续下一次循环。 例 112 求 [100, 200]之间第一个能被 21 整除的整数。 程序如下: for n=100:200 if rem(n,21)~=0 continue end break end ( 4) 函数文件  函数文件的基本结构 函数文件由 function 语句引导,其基本结构为: function 输出形参表 =函数名 (输入形参表 ) 第一章 MATLAB 基础知识 12 注释说明部分 函数体语句 其中以 function 开头的一行为引导行,表示该 M 文件是一个函数文件。 函数名的命名规则与变量名相同。 输入形参为函数的输入参数,输出形参为函数的输出参数。 当输出形参多于一个时,则应该用方括号括起来。  函数调用 函数调用的一般格式是: [输出实参表 ]=函数名 (输入实参表 ) 要注意的是,函数调用时各实参出现的顺序、个数,应与 函数定义时形参的顺序、个数一致,否则会出错。 函数调用时,先将实参传递给相应的形参,从而实现参数传递,然后再执行函数的功能。 例 113 利用函数的递归调用,求 n。 n!本身就是以递归的形式定义的:显然,求 n!需要求 (n1)!,这时可采用递归调用。 递归调用函数文件 如下: function f=factor(n) if n=1 f=1。 else f=factor(n1)*n。 %递归调用求 (n1)! end 第二章 MATLAB 计算结果可视化和确知信号分析 13 第二章 MATLAB 计算结果可视化和确知信号分析本章 目标  掌握二维平面图形的绘制方法,能够使用这些方法进行常用的数据可视化处理  理解周期信号的傅里叶级数展开的物理意义  掌握信号的傅里叶变换及其反变换 计算结果可视化 MATLAB 在数据可视化方面的表现能力很强。 它的图形处理能力不仅功能强大,而且充分考虑了不同层次用户的不同需求,系统具有两个层次的绘图指令:一个层次是直接对图形句柄进行操作的底层绘图指令;另一层次是在底层指令基础上建立的高层绘图指令。 常用的 MATLAB 绘图语句有 figure、 plot、 subplot、 stem 等,图形修饰语具有 title、 axis、 text等。 ( 1) figure 语句 figure 有两种用法。 当只有一句 figure 命令时,程序会创建一个新的图形窗口,并返回一个整数型的窗口编号。 当采用 figure(n)时,表示将第 n 个图形窗口作为当前的图形窗口,将其显示在所有窗口的最前面。 如果该图形窗口不存在,则新建一个窗口,并赋以编号 n。 ( 2) plot 语句 线形绘图函数。 用法为 plot(x,y,’s’)。 参数 x 为横轴变量, y 为纵轴变量, s 用以控制图形的基本特征如颜色、粗细等,通常可以省略,常用方法如表 21 所示。 表 21 plot 命令 的参数及其含义 参数 含义 参数 含义 参数 含义 y 黄色 . 点 实线 m 紫色 o 圆 : 虚线 c 青色 x 打叉 . 点划线 r 红色 + 加号 破折线 g 绿色 * 星号 ^ 向上三角形 b 蓝色 s 正方形 向左三角形 w 白色 d 菱形 向右三角形 k 黑色 v 向下三角形 p 五角星形 ( 3) subplot 语句 subplot(m,n,i)是分割显示图形窗口命令,它把一个图形窗口分为 m 行 n 列共 m n 个小窗口,并指定第 i 个小窗口为当前窗口。 ( 4)二维 统计分析图 在 MATLAB 中,二维统计分析图形很多,常见的有条形图、阶梯图、杆图和填充图等,所采用的函数分别是: bar(x,y,选项 ) stairs(x,y,选项 ) stem(x,y,选项 ) fill(x1,y1,选项 1,x2,y2,选项 2,…) 例 21 分别以条形图、阶梯图、杆图和填充图形式绘制曲线 y=2sin(x)。 第二章 MATLAB 计算结果可视化和确知信号分析 14 程序如下: x=0:pi/10:2*pi。 y=2*sin(x)。 subplot(2,2,1)。 bar(x,y,39。 g39。 )。 title(39。 bar(x,y,39。 39。 g39。 39。 )39。 )。 axis([0,7,2,2])。 subplot(2,2,2)。 stairs(x,y,39。 b39。 )。 title(39。 stairs(x,y,39。 39。 b39。 39。 )39。 )。 axis([0,7,2,2])。 subplot(2,2,3)。 stem(x,y,39。 k39。 )。 title(39。 stem(x,y,39。 39。 k39。 39。 )39。 )。 axis([0,7,2,2])。 subplot(2,2,4)。 fill(x,y,39。 y39。 )。 title(39。 fill(x,y,39。 39。 y39。 39。 )39。 )。 axis([0,7,2,2])。 仿真结果: 0 2 4 621012b a r ( x , y , 39。 g 39。 )0 2 4 621012s t a i r s ( x , y , 39。 b 39。 )0 2 4 621012s t e m ( x , y , 39。 k 39。 )0 2 4 621012f i l l ( x , y , 39。 y 39。 ) ( 5)图形保持 hold on/off 命令控制是保持原有图形还是刷新原有图形,不带参数的 hold 命令在两种状态之间进行切换。 例 22 采用图形保持,在同一坐标内绘制曲线 y1=(4π x) 和 y2=(π x)。 程序如下: x=0:pi/100:2*pi。 y1=*exp(*x).*cos(4*pi*x)。 plot(x,y1) hold on y2=2*exp(*x).*cos(pi*x)。 plot(x,y2)。 hold off 仿真结果: 第二章 MATLAB 计算结果可视化和确知信号分析 15 0 1 2 3 4 5 6 7 1 . 51 0 . 500 . 511 . 52 ( 6)绘图修饰命令 title(图形名称 ) xlabel(x 轴说明 ) ylabel(y 轴说明 ) text(x,y,图形说明 ) legend(图例 1,图例 2,…) 例 23 在 0≤ x≤ 2区间内,绘制曲线 y1= 和 y2=cos(4π x),并给图形添加图形标注。 程序如下: x=0:pi/100:2*pi。 y1=2*exp(*x)。 y2=cos(4*pi*x)。 plot(x,y1,x,y2) title(39。 x from 0 to 2{\pi}39。 )。 %加图形标题 xlabel(39。 Variable X39。 )。 %加 X 轴说明 ylabel(39。 Variable Y39。 )。 %加 Y 轴说明 text(,39。 曲线 y1=2e^{}39。 )。 %在指定位置添加图形说明 text(,39。 曲线 y2=cos(4{\pi}x)39。 )。 legend(‘y1’,‘ y2’) %加图例 仿真结果: 0 1 2 3 4 5 6 71 0 . 500 . 511 . 52x f r o m 0 t o 2 V a r i。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。