《七关系与逻辑运算符》由会员分享,可在线阅读,更多相关《七关系与逻辑运算符(35页珍藏版)》请在金锄头文库上搜索。
1、七、关系与逻辑运算符MATLAB的运算符有三种类型:算术运算符、关系运算符、逻辑运算符。它们的处理顺序依次为算术运算符、关系运算符、逻辑运算符。在前面我们已经介绍了算术运算符,这里我们着重介绍后两种运算符。关系与逻辑运算符假设有:A=1 2 -1 -5 B=0 2 3 1 小于 AB ans=0 0 1 1 A 大于 AB ans=1 0 0 0 A1 ans=0 1 0 0= 小于等于 A= 大于等于 A=B ans=1 1 0 0 = 等于 A=B ans=0 1 0 0 ; A=1 ans=1 0 0 0= 不等于 A=B ans=1 0 1 1 ; A=1 ans=0 1 1 1关系运
2、算符1、关系运算符2、逻辑运算符注意:在处理逻辑运算时,运算元只有两个值即0和1,所以如果指定的数为0,MATLAB认为其为0,而任何数不等于0,则认为是1。假设有:A=5 -4 0 -0.5 B=0 1 0 9 & 与 A&B=0 1 0 1 A&1=1 1 0 1 | 或 A|B=1 1 0 1 A|1=1 1 1 1 非 A=0 0 1 0 1=0 逻辑运算符八、程序流程控制1、for循环语句格式: 例子: exp2_11.m for语句for 循环变量起始值:步长:终止值 循环体endsum=0;for i=1:100 sum=sum+i;endsum=5050i=100While循环
3、和for循环的区别 while循环结构的循环体被执行的次数不是确定的,而for结构中循环体的执行次数是确定的。while语句2、while循环语句while 表达式 循环体end格式例 exp2_12.msum=0; j=0;while sum=1 y=10elseif x-1&x1 y=0else y=-10end例 exp2_13_.mswitch 表达式(可以是标量或字符串) case 值1 语句1 case 值2 语句2 . otherwise 语句3 end 4、switch语句格式switch语句例 exp2_14.mt=-pi:0.1:pi;trigname=input(Inpu
4、t trig functions name:)switch trignamecase sin plot(t,sin(t)case cos plot(t,cos(t)otherwisebreak endswitch语句第三节、绘图简介MATLAB提供了丰富的绘图功能help graph2d可得到所有画二维图形的命令help graph3d可得到所有画三维图形的命令下面介绍常用的二维图形命令绘图简介1、plot(x1,y1,option1,x2,y2,option2,)基本的绘图命令x1: x轴坐标值y1: y轴坐标值Option1:为选项参数,用单引号标出Plot指令例例 exp2_3.m ex
5、p2_3_.mt=0:pi/20:8*pi;y=sin(t);plot(t,y,r:*)r 表示线的颜色为红色,y(黄色)g(绿色)b(蓝色): 表示线型为虚线,-(实线):(虚线)(破折线).* 表示标示符号为星号,此外 +(正号)o(圆形字母)2、figure:选择图像 figure(1);figure(2);figure(n) 打开不同的图形窗口,以便绘制不同的图形。3、grid on:在所画出的图形坐标中加入栅格 grid off:除去图形坐标中的栅格4、hold on:把当前图形保持在屏幕上不变,同时 允许在这个坐标内绘制另外一个图形。 hold off:使新图覆盖旧的图形其他画图指
6、令例例 exp2_4.m exp2_4_.mt=0:pi/20:9*pi;figure(1) plot(t,sin(t),r:*)grid ongrid off figure(2)plot(t,cos(t)grid on grid off其他画图指令5、设定轴的范围axis(xmin xmax ymin ymax)axis(equal):将x坐标轴和y坐标轴的单位刻度大小调整为一样。axis指令例 exp2_5.mt=0:0.01:2*pi;x=sin(t);y=cos(t);plot(x,y)axis(-1.5 1.5 -1.5 1.5)6、文字标示text(x,y,字符串): 在图形的指定
7、坐标位置(x,y)处,标示单引号括起来的字符串。 输入特殊的文字需要用反斜杠()开头。gtext(字符串) 利用鼠标在图形的某一位置标示字符串。title(字符串) 在所画图形的最上端显示说明该图形标题的字符串。xlabel(字符串),ylabel(字符串) 设置x,y坐标轴的名称。legend(字符串1,字符串,字符串n) 在屏幕上开启一个小视窗,然后依据绘图命令的先后用对应 的字符串区分图形上的线。 文字标示例例 exp2_5_.mt=0:pi/20:5*pi;plot(t,sin(t),r:*)xlabel(t(deg)ylabel(magnitude)title(sine wave f
8、rom zero to 5pi)text(pi/2,sin(pi/2),bullet leftarrow The sin(t) at t=2)legend(sin(t),cos(t)gtext(文字标示命令举例)文字标示7、subplot(mnk):分割图形显示窗口m:上下分割个数,n:左右分割个数,k:子图编号t=0:pi/20:5*pi;figure(1)subplot(121)plot(t,sin(t)grid onsubplot(122)plot(t,-sin(t)grid on例 exp2_6.mSubplot指令8、semilogx:绘制以x轴为对数坐标(以10为底),y轴 为线性
9、坐标的半对数坐标图形。 semilogy:绘制以y轴为对数坐标(以10为底),x轴 为线性坐标的半对数坐标图形。 例 exp2_17.mx=0:0.1:1;y=10.x;semilogy(x,y)Semilog指令 可用于数值统计分析或离散数据处理bax(x,y); hist(y,x);stairs(x,y); stem(x,y); 应用型绘图指令9、了解应用型绘图指令:subplot(221)x=1 2 3 4 5 6 7 8 9 10;y=5 6 3 4 8 1 10 3 5 6;bar(x,y)例 exp2_7.msubplot(222)x1=randn(1,1000); y1=-3:0
10、.1:3;hist(x1,y1)应用型绘图指令subplot(223)x2=0:0.1:10;y2=1./(x2.3-2.*x2+4);stairs(x2,y2)subplot(224)x3=0:0.1:10;y3=1./(x2.3-2.*x2+4);stem(x3,y3)(续)应用型绘图指令10、一点补充说明对于图形的属性编辑同样可以通过在图形窗口上直接进行。但图形窗口关闭之后编辑结果不会保存一点补充说明第四节MATLAB程序设计入门一、MATLBA程序的基本设计原则后面的内容是程序的注解,要善于运用注解使程序更 具可读性。养成在主程序开头用clear指令清除变量的习惯,以消除 工作空间中其
11、他变量对程序运行的影响。但注意在子程 序中不要用clear。参数值要集中放在程序的开始部分,以便维护。要充分 利用MATLAB工具箱提供的指令来执行所要进行的运 算,在语句行之后输入分号使其及中间结果不在屏幕上 显示,以提高执行速度。input指令可以用来输入一些临时的数据;而对于 大量参数,则通过建立一个存储参数的子程序,在 主程序中用子程序的名称来调用。程序尽量模块化,也就是采用主程序调用子程序 的方法,将所有子程序合并在一起来执行全部的 操作。充分利用Debugger来进行程序的调试(设置断点、 单步执行、连续执行),并利用其他工具箱或图形 用户界面(GUI)的设计技巧,将设计结果集成到
12、 一起。设置好MATLAB的工作路径,以便程序运行。MATLAB程序设计入门 MATLAB程序的基本组成结构说明清除命令:清除workspace中的变量和图形(clear,close)定义变量:包括全局变量的声明及参数值的设定逐行执行命令:指MATLAB或工具箱提供的运算指令 控制循环 包含for,if then,switch,while等语句 逐行执行命令 end绘图命令:将运算结果绘制出来MATLAB程序的基本组成结构MATLAB程序的基本组成结构function power=test()a=-5:5;power=zeros(1,11);for i=1:11 power(i)=a(i)2;
13、endplot(a,power,r:*);例例 test.mtest.m二、M文件的编辑及MATLAB工作路径的设置进入MATLAB的ditor/Debugger窗口来编辑程序在编辑环境中,文字的不同颜色显示表明文字 的不同属性。 绿色:注解; 黑色:程序主体; 红色:属性值的设定; 蓝色:控制流程。M文件的编辑在运行程序之前,必须设置好MATLAB的工作路 径,使得所要运行的程序及运行程序所需要的其 他文件处在当前目录之下,只有这样,才可以使 程序得以正常运行。否则可能导致无法读取某些 系统文件或数据,从而程序无法执行。通过cd指令在命令窗口中可以更改、显示当前工 作路径。通过路径浏览器(p
14、ath browser)也可以进行设置MATLAB工作路径的设置三、MATLAB的程序类型脚本M文件在命令窗口中输入并执行它所用的变量都要在工作空间中获取程序文件以.m格式进行存取程序运行时只需在工作空间中键入其名称即可函数文件 例myhilb1.m myhilb.mMATLAB的程序类型四、声明子程序(函数程序)变量子程序与主程序之间的数据是通过参数进行传递的,子程序应用主程序传递来的参数进行计算后,将结果返回主程序。 例 exp2_9.m如果一个函数内的变量没有特别声明,那么这个变量只在函数内部使用,即为局部变量。全局变量可以用global来声明。 例 exp2_10.m子程序变量掌握MATLAB语言的基本知识掌握矩阵的基本运算及操作掌握基本的二维绘图命令。掌握三种基本的M文件类型善于运用help命令自学。总结总结参考书目:1.现代通信系统使用MATLAB。约翰 G 谱罗克斯,马苏德 萨勒赫,刘树棠译。西安交通大学出版社。2. MATLAB与通信仿真。王立宁,乐光新,赞菲 。人民邮电出版社。3.精通MATLAB 5。张宜华。清华大学出版社。参考书目谢谢!