W04 MATLAB程序设计语言与初等数学运算3_2012

上传人:豆浆 文档编号:11285040 上传时间:2017-09-02 格式:PDF 页数:39 大小:204.57KB
返回 下载 相关 举报
W04 MATLAB程序设计语言与初等数学运算3_2012_第1页
第1页 / 共39页
W04 MATLAB程序设计语言与初等数学运算3_2012_第2页
第2页 / 共39页
W04 MATLAB程序设计语言与初等数学运算3_2012_第3页
第3页 / 共39页
W04 MATLAB程序设计语言与初等数学运算3_2012_第4页
第4页 / 共39页
W04 MATLAB程序设计语言与初等数学运算3_2012_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《W04 MATLAB程序设计语言与初等数学运算3_2012》由会员分享,可在线阅读,更多相关《W04 MATLAB程序设计语言与初等数学运算3_2012(39页珍藏版)》请在金锄头文库上搜索。

1、第1章 1.8 逻辑和关系运算 1.9 程序流程控制语句第1章 MATLAB程序设计语言与初等数学运算第1章程序的组成数据输入运算数据输出变量变量数学运算关系运算逻辑运算流程控制图形输出文件输出屏幕输出文件输入键盘输入数据类型 1.8 关系和逻辑运算第1章关系运算关系操作符:=(等于),=(不等于),(大于),=(大于等于),=a2的运算结果 a1=1 2 3;4 5 6;7 8 9; a2=5; a1=a2123456789ans=0 0 00 1 11 1 1 1.8 关系和逻辑运算第1章逻辑运算两个逻辑量之间可以进行“与”、“或”和“非”三种基本逻辑运算及由它们组合而成的其它运算 MAT

2、LAB中的逻辑操作符包括:&(逻辑与),|(逻辑或),(逻辑非),xor(异或),&(先决与)和|(先决否)在逻辑运算中,非零元素的逻辑量为1,表示真,零元素的逻辑量为0,表示假;逻辑运算的结果仍然是逻辑量0(假)或1(真)维数相同的矩阵进行逻辑运算时,定义为它们对应元素逻辑量间的逻辑运算结果 MATLAB允许数与矩阵间进行逻辑运算,规则与关系运算相同,是数与矩阵各个元素间的逻辑运算 1.8 关系和逻辑运算第1章逻辑运算真值表 逻辑量及其运算真值(逻辑量)A1100B101A 0 0 1 1B 0 1 0 1A&B 1 0 0 0A|B 1 1 1 0xor(A,B) 0 1 1 0A&B 1

3、 0 0 0A|B 1 1 1 0 1.8 关系和逻辑运算第1章例题求数值矩阵a1的逻辑“非”,a1和1的“异或”a1=1 0 -5 0;3 -2 0 6;0 0 5 7; 9 2 1 9;a3=xor(a1,1)a3=0 1 0 10 0 1 01 1 0 00 0 0 0解:键入a2=a1a2 =0 1 0 10 0 1 01 1 0 00 0 0 0非0数值在逻辑运算中被视为真(1) 1.8 关系和逻辑运算第1章运算符的优先级 MATLAB表达式中可能包含多种运算符:数学运算符、关系运算符和逻辑运算符各运算符执行的先后是根据优先级别执行的不管运算符的位置如何,具有高优先级的运算符先执行具

4、有相同优先级别的运算符则按先左后右的次序执行 1.8 关系和逻辑运算第1章运算符的优先级优先级 运算符1()2 . . 3代数正代数负4 .* . ./ * /5 +-6 :7 = = 3+57+8以下命令的执行结果是什么? 3+(57)+8 3+(57)+8 3+57+8*2 3+(57)+8*2:5011313 4 5 1.8 关系和逻辑运算 57&8 0第1章MATLAB程序流程控制组成计算机程序的一系列指令语句可以分成两类:运算语句和控制顺序语句MATLAB编程的主要任务是安排调整好控制顺序语句,使运算语句的运行顺序合理,运算简捷省时 1.9 MATLAB程序流程控制第1章MATLAB

5、程序流程控制MATLAB的程序流程控制语句包括: 条件控制:if和swith 循环控制:for, while, continue, break 错误控制:trycatch 程序终止:return 1.9 MATLAB程序流程控制第1章if选择语句if语句的一般格式: if condition1% condition1均为关系、逻辑表达式或其组合;statements1 %如果condition1的值为True,则执行该语句组,然后执行end以后语句;如果为假则执行elseif语句;elseif condition2 % condition1均为关系、逻辑表达式或其组合statements2 %

6、如果condition2的值为True,则执行该语句组elsestatements3 %如果condition1和condition2的都为False,则执行该语句组end 1.9 MATLAB程序流程控制第1章if语句的说明if选择结构中,只有if和end是必须存在的;elseif和else均可省略,elseif子句数量可选。 1.9 MATLAB程序流程控制if conditionstatementsendif conditionstatementselsestatementsendif conditionstatementselseifstatementsend第1章error函数当不满

7、足指定条件时,可使用error函数终止某个程序或函数的运行 error函数通常用于确保程序获得有效的分支数值当程序执行到error函数时,会在命令窗口显示函数所包含的信息,之后终止程序或函数的执行,并将程序控制权返回到命令窗口命令行 error函数可用于程序或函数任何位置,并不限于if,for,switch和while结构 1.9 MATLAB程序流程控制第1章例题编写一个程序,当输入数字大于0时计算其平方根,当小于0时终止运算并返回错误信息(Negative input not allowed)if x=0y=sqrt(x)elseerror(Negative input not allow

8、ed)endx = input(x=) 1.9 MATLAB程序流程控制第1章例题以下程序实现根据键盘输入的x值,计算对应函数y的值的功能,试补充完整以下程序。x=input(x=)ify=abs(x)y=0y=sqrt(x) 1.9 MATLAB程序流程控制,01, 0,0xxyxxxx0end第1章switch多重分支结构switchcaseotherwise语句的能力与ifelseend语句类似,但对多重选择的情况switch语句使代码更加易读。switch的一般格式:switch test_expr %测试表达式test_expr可以是标量或字符串case valuestatement

9、s %当test_expr值是value时,执行该语句组case value1,value2,statements %当test_expr值是value1或value2或时,执行该语句组otherwise %可以省略statementsend 1.9 MATLAB程序流程控制第1章例题编程判断并显示当输入自变量x的具体数值时,函数y=x4-19*x3+x+32的值是奇数、偶数(0视为偶数,不分正负),还是其它clear,x=input(x=)y=x4-19*x3+x+32;switch mod(y,2)case 1disp(It is odd)case 0disp(It is even)oth

10、erwisedisp(It is others)end 1.9 MATLAB程序流程控制第1章for循环结构for循环结构用于循环次数已知的情况,其一般格式如下:forend循环的执行过程是:先计算初值和终值,并把初值赋给循环变量;再判断循环变量的值是否超过了终值。若超过,则退出循环,执行end后面的语句,否则执行循环体的语句组,之后将循环变量加上一个步长,然后重复执行循环体内容,直至循环变量超过终值而退出循环为止for 循环变量 = 表达式1(初值):表达式2(步长):表达式3(终值)statements (语句组)end 1.9 MATLAB程序流程控制第1章例题编程计算1至1000的加和

11、值clearj=0;for i=1:1000j=j+i;endjij =500500i =1000可见循环变量的最终值为表达式的终值 1.9 MATLAB程序流程控制第1章for循环中循环变量的值以下程序的运行结果?for i=1:3i=i*2endi = 2i = 4i = 6 1.9 MATLAB程序流程控制第1章for循环与程序的效率clear,clcticdx = pi/360;nx = 1 + 2*pi/dx;for i = 1:nxx(i) = (i-1)*dx;y(i) = sin(3*x(i);endt1=tocclearticx = 0:pi/360:2*pi;y = sin

12、(3*x);t2=toc采用向量化运算方式通常可以提高程序效率! 1.9 MATLAB程序流程控制第1章嵌套循环 for循环可以嵌套使用 1.9 MATLAB程序流程控制for 循环变量 = 表达式1(初值):表达式2(步长):表达式3(终值)statements (语句组)for 循环变量2 = 表达式1:表达式2:表达式3statements (语句组)endend=51512/mnnma=0for m=1:5for n=1:5a=a+m/n2endend第1章while循环结构当MATLAB执行这个whileend循环时会首先测试condition(条件表达式)。如果condition为

13、False(零),则直接跳出循环,执行end后面的语句。如果condition为True(非零),则执行语句组statements,然后退回到while语句再测试条件while condition(表达式)statements(执行语句组)end 1.9 MATLAB程序流程控制第1章例题利用while循环,求满足 的最小整数mcleara=0;n=1;while a 1.9 MATLAB程序流程控制第1章例题以下程序运行后,屏幕显示结果分别为for x=1:5y=x2-2*x;enddisp(x,y) 1.9 MATLAB程序流程控制while x10000breakendendm=i241

14、10mnn= 1.9 MATLAB程序流程控制第1章return语句在某个函数内部执行return语句时,可立即退出该函数,并返回到调用它的函数,继续运行。当函数过程已完成每个任务并可直接返回时,return是非常有用的 return通常放置于函数内的一个控制结构(如if语句)内。执行该函数时,如果符合控制结构的某个条件,则调用return语句终止当前运行,并返回到调用它的函数或环境该语句的作用与其他高级语言(如FORTRAN)的return语句的作用相同 1.9 MATLAB程序流程控制第1章例题阅读以下程序,说明return语句的作用function d = det(A)%DET det(A) is the determinant of A.if isempty(A)d = 1;returnelse.end 1.9 MATLAB程序流程控制第1章trycatch语句trycatch是用于对异常进行处理的语句。把有可能引起异常的语句放在try控制块中,这样当try控制块中的statement语句引起异常时,catch控制块就可以捕获它,并针对不同的错误类型,进行不同的处理。 1.9 MATLAB程序流程控制tryst

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号