《关系与逻辑运算符》由会员分享,可在线阅读,更多相关《关系与逻辑运算符(35页珍藏版)》请在金锄头文库上搜索。
1、七、关系与逻辑运算符,MATLAB的运算符有三种类型:算术运算符、关系运算符、逻辑运算符。它们的处理顺序依次为算术运算符、关系运算符、逻辑运算符。在前面我们已经介绍了算术运算符,这里我们着重介绍后两种运算符。,关系与逻辑运算符,假设有:A=1 2 -1 -5 B=0 2 3 1 大于 AB ans=1 0 0 0 A1 ans=0 1 0 0= 大于等于 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,关系运算符,1、关系运算符,2、逻辑运算符,注意:在处
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 循环变量起始值:步长:终止值 循环体end,sum=0;for i=1:100 sum=sum+i;end,While循环和for循环的区别 while循环结构的循环体被执行的次
3、数不是确定的,而for结构中循环体的执行次数是确定的。,while语句,2、while循环语句,while 表达式 循环体end,格式,例 exp2_12.m,sum=0; j=0;while sum=1 y=10elseif x-1&x1 y=0else y=-10end,例 exp2_13_.m,switch 表达式(可以是标量或字符串) case 值1 语句1 case 值2 语句2 . otherwise 语句3 end,4、switch语句,格式,switch语句,例 exp2_14.m,t=-pi:0.1:pi;trigname=input(Input trig functions
4、 name:)switch trignamecase sin plot(t,sin(t)case cos plot(t,cos(t)otherwisebreak end,switch语句,第三节、绘图简介,MATLAB提供了丰富的绘图功能help graph2d可得到所有画二维图形的命令help graph3d可得到所有画三维图形的命令下面介绍常用的二维图形命令,绘图简介,1、plot(x1,y1,option1,x2,y2,option2,),基本的绘图命令,x1: x轴坐标值y1: y轴坐标值Option1:为选项参数,用单引号标出,Plot指令,例 exp2_3.m exp2_3_.m,
5、t=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_.m,t=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.m,t=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_.m,t=0:pi/20:5*pi;plot(t,sin(t),r:*)xlabel(t(deg)ylabel(magnitude)title(sine
8、wave from 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.m,Subplot指令,8、semilogx:绘制以x轴为对数坐标(以
9、10为底),y轴 为线性坐标的半对数坐标图形。 semilogy:绘制以y轴为对数坐标(以10为底),x轴 为线性坐标的半对数坐标图形。,例 exp2_17.m,x=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.m,subplot(222)x1=rand
10、n(1,1000); y1=-3:0.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程序的基本设计原则,后面的内容是程序的注解,要善于运用注解使程序更 具可读性。养成在主程
11、序开头用clear指令清除变量的习惯,以消除 工作空间中其他变量对程序运行的影响。但注意在子程 序中不要用clear。参数值要集中放在程序的开始部分,以便维护。要充分 利用MATLAB工具箱提供的指令来执行所要进行的运 算,在语句行之后输入分号使其及中间结果不在屏幕上 显示,以提高执行速度。,input指令可以用来输入一些临时的数据;而对于 大量参数,则通过建立一个存储参数的子程序,在 主程序中用子程序的名称来调用。程序尽量模块化,也就是采用主程序调用子程序 的方法,将所有子程序合并在一起来执行全部的 操作。充分利用Debugger来进行程序的调试(设置断点、 单步执行、连续执行),并利用其他
12、工具箱或图形 用户界面(GUI)的设计技巧,将设计结果集成到 一起。设置好MATLAB的工作路径,以便程序运行。,MATLAB程序设计入门,MATLAB程序的基本组成结构说明清除命令:清除workspace中的变量和图形(clear,close)定义变量:包括全局变量的声明及参数值的设定逐行执行命令:指MATLAB或工具箱提供的运算指令 控制循环 包含for,if then,switch,while等语句 逐行执行命令 end绘图命令:将运算结果绘制出来,MATLAB程序的基本组成结构,MATLAB程序的基本组成结构,function power=test()a=-5:5;power=zero
13、s(1,11);for i=1:11 power(i)=a(i)2;endplot(a,power,r:*);,例 test.m,二、M文件的编辑及MATLAB工作路径的设置,进入MATLAB的ditor/Debugger窗口来编辑程序在编辑环境中,文字的不同颜色显示表明文字 的不同属性。 绿色:注解; 黑色:程序主体; 红色:属性值的设定; 蓝色:控制流程。,M文件的编辑,在运行程序之前,必须设置好MATLAB的工作路 径,使得所要运行的程序及运行程序所需要的其 他文件处在当前目录之下,只有这样,才可以使 程序得以正常运行。否则可能导致无法读取某些 系统文件或数据,从而程序无法执行。通过cd指令在命令窗口中可以更改、显示当前工 作路径。通过路径浏览器(path browser)也可以进行设置,