欢迎来到天天文库
浏览记录
ID:59605091
大小:336.00 KB
页数:51页
时间:2020-11-15
《第5章-程序设计和M文件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第5章程序设计和M文件5.1程序控制5.2M文件结构5.3函数的使用5.4程序的调试5.5匿名函数、inline对象和函数句柄5.6函数绘图5.7数值分析5.1程序控制5.1.1分支控制语句1.if结构if条件1语句段1elseif条件2语句段2......else语句段nend>>x=-5:0.1:5;>>ifx>=1y=x.^2-1elseif-12、句段1case值2语句段2...otherwise语句段nend说明:表达式只能是标量或字符串;case后面的值可以是标量、字符串或元胞数组;switch和end必须配对使用。例5-2使用switch结构判断学生成绩的等级,90分以上为优,80~90为良,70~80为中,60~70为及格,60分以下为不及格。>>score=98;>>s1=fix(score/10);%取十位数>>switchs1case{9,10}%与元胞数组中的元素比较s='优'case8s='良'case7s='中'case6s='及格'otherwis3、es='不及格'end5.1.2循环控制语句1.for循环for循环变量=array循环体end说明:array可以是向量也可以是矩阵,循环执行的次数就是array的列数,每次循环中循环变量依次取array的各列并执行循环体,直到array所有列取完。forn=1:5%循环5次forn=-1:0.1:1%循环次forn=linspace(-2*pi,2*pi,5)%循环次a=eye(2,3);forn=a%循环次,n为列向量练习2.while循环while条件表达式循环体end例5-4使用while循环计算f(x)=sin(x4、),x<5且每次x递增ln(x)。>>x=0.1;>>whilex<5f=sin(x)x=x+log(x)end3.break和continue语句(1)break语句break语句使包含break的最内层for或while循环强制终止,并立即跳出该循环结构,执行end后面的命令,break一般与if语句结合使用。(2)continue语句continue语句与break不同的是continue只结束本次for或while循环,而继续进行下次循环,continue一般也与if语句结合使用。例5-5在for循环中计算,使用bre5、ak语句,当就终止运算。x=0:10;forn=xf=exp(n);iff>1000break;endendf=exp(0:n)说明:程序中使用for循环嵌套if结构,当f>1000时跳出for循环。例5-6使用for循环将字符串中的数值取出,遇到非数值则跳过。>>str='Theresultis100.';>>len=length(str);>>s=[];>>forn=1:lenifstr(n)>'9'6、str(n)<'0'%非数值时continueends=[sstr(n)];end说明:判断字符是否0~9,如果不是就结束7、本次循环,继续下次循环5.1.3错误控制语句try语句段1catch语句段2end说明:先试探地执行语句段1,如果出现错误则放弃语句段1转而执行语句段2中的语句;如果语句段2正确则结束;如果语句段1正确则不执行语句段2就结束;当语句段1和语句段2都错误,则程序出错。%只能纠错1次当错误控制结构运行结束后,可以调用lasterr函数查询出错信息,调用方法是“[lastmsg,lastid]=lasterr”,其中lastmsg保存出错信息,lastid保存错误类型。例5-7使用错误控制结构查看a*b的运算。a=[135];b=[8、123];tryc=a.*b';catchc=a.*b;end[lastmsg,lastid]=lasterr5.1.4流程控制命令1.return命令return命令用于提前结束当前函数的执行,并立即返回到上一级调用函数,一般用于遇到特殊情况需要立即退出程序或终止键盘方式。当程序进入死循环时,则按Ctrl+break键来终止整个程序的运行。2.keyboard命令keyboard命令用来使程序暂停运行,等待键盘命令,命令窗口出现“K>>”提示符,当键盘输入“return”后,程序才继续运行。keyboard命令可以用来在程序9、调试或程序执行时修改变量。3.input命令r=input(‘str’,‘s’)%从键盘中输入数据保存到变量r。例5-7续在例5-7中使用keyboard命令输入变量b。a=[135];keyboard;tryc=a.*b';catchc=a.*b;end将例5-7续中的ke
2、句段1case值2语句段2...otherwise语句段nend说明:表达式只能是标量或字符串;case后面的值可以是标量、字符串或元胞数组;switch和end必须配对使用。例5-2使用switch结构判断学生成绩的等级,90分以上为优,80~90为良,70~80为中,60~70为及格,60分以下为不及格。>>score=98;>>s1=fix(score/10);%取十位数>>switchs1case{9,10}%与元胞数组中的元素比较s='优'case8s='良'case7s='中'case6s='及格'otherwis
3、es='不及格'end5.1.2循环控制语句1.for循环for循环变量=array循环体end说明:array可以是向量也可以是矩阵,循环执行的次数就是array的列数,每次循环中循环变量依次取array的各列并执行循环体,直到array所有列取完。forn=1:5%循环5次forn=-1:0.1:1%循环次forn=linspace(-2*pi,2*pi,5)%循环次a=eye(2,3);forn=a%循环次,n为列向量练习2.while循环while条件表达式循环体end例5-4使用while循环计算f(x)=sin(x
4、),x<5且每次x递增ln(x)。>>x=0.1;>>whilex<5f=sin(x)x=x+log(x)end3.break和continue语句(1)break语句break语句使包含break的最内层for或while循环强制终止,并立即跳出该循环结构,执行end后面的命令,break一般与if语句结合使用。(2)continue语句continue语句与break不同的是continue只结束本次for或while循环,而继续进行下次循环,continue一般也与if语句结合使用。例5-5在for循环中计算,使用bre
5、ak语句,当就终止运算。x=0:10;forn=xf=exp(n);iff>1000break;endendf=exp(0:n)说明:程序中使用for循环嵌套if结构,当f>1000时跳出for循环。例5-6使用for循环将字符串中的数值取出,遇到非数值则跳过。>>str='Theresultis100.';>>len=length(str);>>s=[];>>forn=1:lenifstr(n)>'9'
6、str(n)<'0'%非数值时continueends=[sstr(n)];end说明:判断字符是否0~9,如果不是就结束
7、本次循环,继续下次循环5.1.3错误控制语句try语句段1catch语句段2end说明:先试探地执行语句段1,如果出现错误则放弃语句段1转而执行语句段2中的语句;如果语句段2正确则结束;如果语句段1正确则不执行语句段2就结束;当语句段1和语句段2都错误,则程序出错。%只能纠错1次当错误控制结构运行结束后,可以调用lasterr函数查询出错信息,调用方法是“[lastmsg,lastid]=lasterr”,其中lastmsg保存出错信息,lastid保存错误类型。例5-7使用错误控制结构查看a*b的运算。a=[135];b=[
8、123];tryc=a.*b';catchc=a.*b;end[lastmsg,lastid]=lasterr5.1.4流程控制命令1.return命令return命令用于提前结束当前函数的执行,并立即返回到上一级调用函数,一般用于遇到特殊情况需要立即退出程序或终止键盘方式。当程序进入死循环时,则按Ctrl+break键来终止整个程序的运行。2.keyboard命令keyboard命令用来使程序暂停运行,等待键盘命令,命令窗口出现“K>>”提示符,当键盘输入“return”后,程序才继续运行。keyboard命令可以用来在程序
9、调试或程序执行时修改变量。3.input命令r=input(‘str’,‘s’)%从键盘中输入数据保存到变量r。例5-7续在例5-7中使用keyboard命令输入变量b。a=[135];keyboard;tryc=a.*b';catchc=a.*b;end将例5-7续中的ke
此文档下载收益归作者所有