欢迎来到天天文库
浏览记录
ID:51075387
大小:172.50 KB
页数:48页
时间:2020-03-18
《程序设计和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:-2;>>ifx>=1y=x.^2-1elseif-12、面的值进行比较,满足值的范围就执行相应的语句段,如果都不满足则执行otherwise后面的语句段;表达式只能是标量或字符串;case后面的值可以是标量、字符串或元胞数组,如果是元胞数组则将表达式与元胞数组的所有元素进行比较,只要某个元素与表达式相等,就执行其后的语句段;switch和end必须配对使用。例5-2使用switch结构判断学生成绩的等级,90分以上为优,80~90为良,70~80为中,60~70为及格,60分以下为不及格。>>score=98;>>s1=fix(score/10);%取十位数>>switchs1case{9,10}s='优'case8s3、='良'case7s='中'case6s='及格'otherwises='不及格'end5.1.2循环控制语句1.for循环for循环变量=array循环体end说明:array可以是向量也可以是矩阵,循环执行的次数就是array的列数,每次循环中循环变量依次取array的各列并执行循环体,直到array所有列取完。forn=1:5%循环5次forn=-1:0.1:1%循环21次forn=linspace(-2*pi,2*pi,5)%循环5次a=eye(2,3);forn=a%循环3次,n为列向量练习2.while循环while条件表达式循环体end例5-4使用w4、hile循环计算f(x)=sin(x),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-6使用for循环将字符串中的数值取5、出,遇到非数值则跳过。>>str='Theresultis100.';>>len=length(str);>>s=[];>>forn=1:lenifstr(n)>'9'6、str(n)<'0'%非数值时continueends=[sstr(n)];end练习5.1.3错误控制语句try语句段1catch语句段2end说明:先试探地执行语句段1,如果出现错误则将错误信息赋给保留的lasterr变量,并放弃语句段1转而执行语句段2中的语句;如果语句段2正确则结束;如果语句段1正确则不执行语句段2就结束;当语句段1和语句段2都错误,则程序出错。当错误控制结构运行结束后,可7、以调用lasterr函数查询出错信息,调用方法是“[lastmsg,lastid]=lasterr”,其中lastmsg保存出错信息,lastid保存错误类型。例5-7使用错误控制结构查看a*b的运算。>>a=[135];>>b=[123];>>tryc=a.*b'catchc=a.*bend>>[lastmsg,lastid]=lasterr结果:c=1615lastmsg=Errorusing==>timesMatrixdimensionsmustagree.lastid=MATLAB:dimagree5.1.4流程控制命令1.return命令return命令8、用于提前结束程序的执行,并立即返回到上一级调用函数或等待键盘输入命令,一般用于遇到特殊情况需要立即退出程序或终止键盘方式。应注意当程序进入死循环时,则按Ctrl+break键来终止程序的运行。2.keyboard命令keyboard命令用来使程序暂停运行,等待键盘命令,命令窗口出现“K>>”提示符,当键盘输入“return”后,程序才继续运行。keyboard命令可以用来在程序调试或程序执行时使用。3.input命令r=input(‘str’,‘s’)%从键盘中输入数据保存到变量r。4.disp命令disp命令是较常用的显示命令,常用来显示字符串型的信息提示。5.9、pause
2、面的值进行比较,满足值的范围就执行相应的语句段,如果都不满足则执行otherwise后面的语句段;表达式只能是标量或字符串;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
3、='良'case7s='中'case6s='及格'otherwises='不及格'end5.1.2循环控制语句1.for循环for循环变量=array循环体end说明:array可以是向量也可以是矩阵,循环执行的次数就是array的列数,每次循环中循环变量依次取array的各列并执行循环体,直到array所有列取完。forn=1:5%循环5次forn=-1:0.1:1%循环21次forn=linspace(-2*pi,2*pi,5)%循环5次a=eye(2,3);forn=a%循环3次,n为列向量练习2.while循环while条件表达式循环体end例5-4使用w
4、hile循环计算f(x)=sin(x),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-6使用for循环将字符串中的数值取
5、出,遇到非数值则跳过。>>str='Theresultis100.';>>len=length(str);>>s=[];>>forn=1:lenifstr(n)>'9'
6、str(n)<'0'%非数值时continueends=[sstr(n)];end练习5.1.3错误控制语句try语句段1catch语句段2end说明:先试探地执行语句段1,如果出现错误则将错误信息赋给保留的lasterr变量,并放弃语句段1转而执行语句段2中的语句;如果语句段2正确则结束;如果语句段1正确则不执行语句段2就结束;当语句段1和语句段2都错误,则程序出错。当错误控制结构运行结束后,可
7、以调用lasterr函数查询出错信息,调用方法是“[lastmsg,lastid]=lasterr”,其中lastmsg保存出错信息,lastid保存错误类型。例5-7使用错误控制结构查看a*b的运算。>>a=[135];>>b=[123];>>tryc=a.*b'catchc=a.*bend>>[lastmsg,lastid]=lasterr结果:c=1615lastmsg=Errorusing==>timesMatrixdimensionsmustagree.lastid=MATLAB:dimagree5.1.4流程控制命令1.return命令return命令
8、用于提前结束程序的执行,并立即返回到上一级调用函数或等待键盘输入命令,一般用于遇到特殊情况需要立即退出程序或终止键盘方式。应注意当程序进入死循环时,则按Ctrl+break键来终止程序的运行。2.keyboard命令keyboard命令用来使程序暂停运行,等待键盘命令,命令窗口出现“K>>”提示符,当键盘输入“return”后,程序才继续运行。keyboard命令可以用来在程序调试或程序执行时使用。3.input命令r=input(‘str’,‘s’)%从键盘中输入数据保存到变量r。4.disp命令disp命令是较常用的显示命令,常用来显示字符串型的信息提示。5.
9、pause
此文档下载收益归作者所有