迎 eg.for循环中的breaki语句 for i=1:5 结果 ifi==3; i=1 break; i=2 end End of loop! fprintf('i=%d n',1); ■ end disp(End of loop!"); 21
21 eg. for循环中的 break语句 for i = 1:5 if i == 3; break; end fprintf('i = %d\n',i); end disp('End of loop!'); 结果: i = 1 i = 2 End of loop!
迎 eg.计算fx)=ex,使用break语句当 fx)>1000时终止计算。 x=0:10; ■forn=x f=exp(n) n= 7 iff>1000 f=1.0966e+003 ■ break end end 22
22 eg. 计算f(x)=ex,使用break语句当 f(x)>1000时终止计算。 x=0:10; for n=x f=exp(n) if f >1000 break end end n = 7 f =1.0966e+003
eg.使用for循环将字符串中的数值取出 遇到非数值则跳过。 ■ str='The result is 100.'; len=length(str); ■s=[]; for n=1:len ■ if str(n)>'9'str(n)<'0 %非数值时 ■ continue S= end 1 S二 s=[s str(n)] 10 end S≥ 100 23
23 eg. 使用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 s = 1 s = 10 s = 100
迎 相当于: str='The result is 100.'; len=length(str); s=[] for n=1:len if str(n)>='0'str(n)<='9' s=[s str(n)] end end 24
24 相当于: str='The result is 100.'; len=length(str); s=[ ] for n=1:len if str(n)>='0' & str(n)<='9' s=[s str(n)] end end
迎 3、try/catch错误控制语句 try 语句段1 运行程序出现一些不可预见的 运行错误时,可以使用错误控 catch 制结构try/catch来捕获和处理 语句段2 错误,避免程序出错而不能继 end 续运行。 执行过程: 先试探地执行语句段1,如果出现错误则将错误信息赋 给保留的laster变量,并放弃语句段1转而执行语句段2中 的语句;如果语句段2正确则结束; 2. 当语句段1和语句段2都错误,则程序出错。 3. 如果语句段1正确则不执行语句段2就结束; 25
25 3 、try/catch 错误控制语句 try 语句段 1 catch 语句段 2 end 执行过程: 1. 先试探地执行语句段 1,如果出现错误则将错误信息赋 给保留的laster变量,并放弃语句段 1转而执行语句段 2 中 的语句;如果语句段 2正确则结束; 2. 当语句段 1和语句段 2都错误,则程序出错。 3. 如果语句段 1正确则不执行语句段 2就结束; 运行程序出现一些不可预见的 运行错误时,可以使用错误控 制结构try/catch来捕获和处理 错误,避免程序出错而不能继 续运行