资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,*,MATLAB程序结构,韩红彩,1,顺序结构,2,if,else,end结构,3,switch,case,end结构,4 trycatchend结构,5,for循环,6,while循环,1 顺序,结构,顺序结构是最简单的程序结构,用户在编写好程序之后,系统将按照程序的物理位置顺次执行。,例1 求正弦函数的图像。,x=-2*pi:pi/20:2*pi;,y=sin(x);,plot(x,y);,title(Plot of sin(x)vs x);,只有一种选择时的情况,if 表达式,执行语句,块,end,有两种选择时的情况,if 表达式,执行语句,块,1,else,执行语句,块,2,end,2,if,else,end结构,有3种或3种以上选择时的情况,if,表达式1,执行语句,块,1,elseif,表达式2,执行语句,块,2,elseif,表达式3,执行语句,块,3,elseif,else,执行语句,块,end,if,else,end结构,例2 输入一个数值分数,输出分数等级。,grade=input();,if,grade 95.0,disp(The grade is A.);,elseif,grade 86.0,disp(The grade is B.);,elseif,grade 76.0,disp(The grade is C.);,elseif,grade 66.0,disp(The grade is D.);,else,disp(The grade is F.);,end,3,switchcaseend,结构,switch开关语句,case,条件语句,1,执行语句,块1,case 条件语句,2,执行语句,块2,otherwise,执行语句,块,end,例3,判断1 到10 之间,的整,数是奇数还是偶数。,switch,(input(),case,1,3,5,7,9,disp(The value is odd.);,case,2,4,6,8,10,disp(The value is even.);,otherwise,disp(The value is out of range.);,end,4,trycatchend,结构,try-catch模块给用户提供了一种错误捕获机制。换句话说,利用try-catch模块,MATLAB 编译系统发现的错误将被其捕获,用户可以控制MATLAB 怎样对发生的错误进行处理。,try,执行语句,块,1,catch,执行语句,块,2,end,例4 运算之前没有给变量初始化,。,try,i=x+y;,catch,disp(Please initialize for the variable first.);,end,Please initialize for the variable first.,如果直接输入,将产生如下结果,i=x+y;,?Undefined function or variable x,.,5,for循环,f,or循环语句,可以让用户很方地实现循环操作,从而可以从容地应付大规模的循环语句。,for,循环变量,=first:incr:last,执行语句,块,end,例,5,计算1 到10之间的所有整数的平方,、,平方根,、,立方根。,for,i=1:10,square(i)=i2;,square_root(i)=i (1/2);,cube_root(i)=i(1/3);,end,6,while循环,与for循环不同,while循环的判断控制可以是逻辑判断语句,因此,它的,循环次数可以是一个不定数,。这样就赋予了它比for循环更广泛的用途。,while,表达式,执行语句,块,end,例6 求,一组简单数据的,和。,n=0;sum_x=0;,%Initialize,x=input(Enter first value:);,%Read in first value,while,x=0,%While Loop to read input values,n=n+1;,%Accumulate sums,sum_x=sum_x+x;,x=input(Enter next value:);,%Read in,the,next,end,小结:,1.高级结构以,end,作为结尾,2.标点符号,if x0 for i=1:10 case 1,执行语句间以分号隔开,语句块不用花括号。,3.switch结构不用break,4.巧妙利用try结构,捕获错误,谢谢大家光临指导,欢迎提出宝贵意见!,
展开阅读全文