1 / 42
文档名称:

05 程序设计和M文件.ppt

格式:ppt   页数:42
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

05 程序设计和M文件.ppt

上传人:中国课件站 2011/8/27 文件大小:0 KB

下载得到文件列表

05 程序设计和M文件.ppt

文档介绍

文档介绍:第5章程序设计和M文件
程序控制
M文件结构
函数的使用
程序的调试
匿名函数、inline对象和函数句柄
函数绘图
数值分析
程序控制 分支控制语句
1. if 结构
if 条件1
   语句段1
elseif 条件2
  语句段2
......
else
   语句段n 
end
>> x=-5::5;
>> if x>=1
y=x.^2-1
elseif -1<x<1
y=0*x
else
y=-x.^3-1
end
plot(x,y)
2. switch 结构
switch 表达式
case 值1
   语句段1 
case值2
   语句段2
...
otherwise 
   语句段n 
end
说明:
将表达式依次与case后面的值进行比较,满足值的范围就执行相应的语句段,如果都不满足则执行otherwise后面的语句段;
表达式只能是标量或字符串;
case后面的值可以是标量、字符串或元胞数组,如果是元胞数组则将表达式与元胞数组的所有元素进行比较,只要某个元素与表达式相等,就执行其后的语句段;
switch和end必须配对使用。
例5-2 使用switch结构判断学生成绩的等级,90分以上为优,80~90为良,70~80为中,60~70为及格,60分以下为不及格。
>> score=98;
>> s1=fix(score/10); %取十位数
>> switch s1
case {9,10}
s='优'
case 8
s='良'
case 7
s='中'
case 6
s='及格'
otherwise
s='不及格'
end
循环控制语句
1. for循环
for 循环变量=array
循环体
end
说明:array可以是向量也可以是矩阵,循环执行的次数就是array的列数,每次循环中循环变量依次取array的各列并执行循环体,直到array所有列取完。
for n=1:5 %循环5次
for n=-1::1 %循环21次
for n=linspace(-2*pi,2*pi,5) %循环5次
a=eye(2,3); for n=a %循环3次,n为列向量
练习
2. while循环
while 条件表达式
循环体
end
例5-4 使用while循环计算f(x)=sin(x),x<5且每次x递增ln(x)。
>> x=;
>> while x<5
f=sin(x)
x=x+log(x)
end
3. break和continue语句
(1)break语句
break语句使包含break的最内层for或while循环强制终止,并立即跳出该循环结构,执行end后面的命令,break一般与if语句结合使用。
(2)continue语句
continue语句与break不同的是continue只结束本次for或while循环,而继续进行下次循环,continue一般也与if语句结合使用。
例5-6 使用for循环将字符串中的数值取出,遇到非数值则跳过。
>> str='The result is 100.';
>> len=length(str);
>> s=[];
>> for n=1:len
if str(n)>'9'|str(n)<'0' %非数值时
continue
end
s=[s str(n)];
end
错误控制语句
try
   语句段1
catch  
语句段2
end
说明:
先试探地执行语句段1,如果出现错误则将错误信息赋给保留的lasterr变量,并放弃语句段1转而执行语句段2中的语句;如果语句段2正确则结束;
如果语句段1正确则不执行语句段2就结束;
当语句段1和语句段2都错误,则程序出错。
当错误控制结构运行结束后,可以调用lasterr函数查询出错信息,调用方法是“[lastmsg,lastid]=lasterr”,其中lastmsg保存出错信息,lastid保存错误类型。
流程控制命令
1. return命令
return命令用于提前结束程序的执行,并立即返回到上一级调用函数或等待键盘输入命令,一般用于遇到特殊情况需要立即退出程序或终止键盘方式。
应注意当程序进入死循环时,则按Ctrl+break键来终止程序的运行。
2. keyboard命令
keyboard命令用来使程序暂停运行,等待键盘命令,命令窗口出现“K>>”提示符,当
键盘输入“return”后,程序才继续运行。keyboard命令可以用来在程序调试或程序执行时
3. in