基本控制语句

基本控制语句

MATLAB和其他语言类似,MATLAB程序语句也可以分为顺序语句,选择语句和循环语句。顺序结构是按照代码的书写的结构来执行的,也是最常用的结构,选择结构是按照条件的结果来执行的,有些代码不一定会执行。循环结构是按照条件及结构中的某一条件来循环执行某一段代码。

5.1顺序语句

顺序语句就是自上而下执行程序代码,是程序设计的最简单的一种结构,也是一种默认的执行顺序。

我们接触的程序都是顺序执行的。实现顺序结构的方法非常简单,只需将程序语句顺序排列即可

5.2选择语句

条件语句通常使用条件语句来完成,MATLAB中常用的条件语句有if语句、switch语句和try语句。

5.2.1  if语句

在MATLAB中的if语句有三种形式

·if…end结构

语法格式如下:

if 条件表达式

程序代码

end        

当条件表达式为真,执行该结构中的代码,反之,跳过该结构中的代码,执行下一段代码。

·if…else…end结构

语法格式如下:

If 条件表达式

代码1

Else

代码2

End

当条件表达式为真时,执行代码1,反之;执行代码2。执行完后执行后面的代码。

·if…elseif…else…end结构

语法格式如下:

If 条件表达式1

程序代码1

Else if条件表达式2

程序代码2

……

Else if 条件表达式n

程序代码n

Else

程序代码n+1

End

当条件表达式1为真时,执行代码1,否则执行下一个表达式,以此类推,如果都不为真,执行n+1的代码。执行完后执行该结构后面的代码。

实例:

     1:  >> x=1;

>> if x>0

disp 为真;

else

disp 为假;

end

为真;

 

>> m=6;

>> if m<0

disp('m<0');

elseif m==0

disp('m==0');

else

disp('m>0');

end

m>0

6.2.2 switch-case语句

   当要判断同一条件下的多种情况时,我们通常用switch-case语句,这样可以避免许多冗余的代码,使代码更加的简洁。

 Switch-case语法格式

 Switch 表达语句

 Case 表达语句1;

代码1;

Case 表达语句2;

代码2;

……

Case 表达语句n;

代码n;

Otherwise

代码n+1;

End

该语句格式的表达式必须要为统一的标量或者字符串,如果执行了相应的语句,并且跳出了给判断结构,就不在对后面的语句进行判断。

Switch-case语句的使用

grade=input('shuruchengji');

switch round(grade/10)

    case{9,10}

        disp('优秀');

    case{7,8}

        disp('良好');

    case{6}

        disp('及格');

    otherwise

        disp('不及格');

end

 

5.2.3 try语句

Try语句通常用于程序的检测。

  Try语句语法格式

   Try

   代码1

Catch

语句2

end

try首先执行代码1,如果代码1有错,则执行代码2。

5.3循环语句

   循环语句一般用于在一定的条件情况下需要重复执行某段程序代码,这是MATLAB提供了一些循环控制语句给用户更加方便的设计程序。

MATLAB提供的循环控制语句有for语句、while语句、continue语句等。

循环语句的一般形式:

5.3.1 for语句

使用for语句可以按照for语句中控制次数去重复执行for循环体内的程序代码。

for循环语句的使用:
for 循环变量=表达式1:表达式2:表达式3

循环体

end

for循环语句执行时先要执行三个表达式的值,表达式1是控制循环开始的初始变量,表达式3是循环终止值,表达式2是循环增长值,如果变量的值介于 表达式1的值和表达式3的值之间,则继续执行循环体,反之,则跳出循环,继而执行for循环后面的代码语句。循环的增长值可以默认,默认状态下是增长值为1。

    for循环语句使用的注意事项:在for循环中不可以出现对循环变量重新赋值,否则会报错。for循环语句可以嵌套使用。

  实例:for循环语句的使用

   >> for i=1:2:6

disp(i);

end

     1

     3

     5

 

5.3.2while语句

当用户无法事先知道准确的循环次数时,可以使用while语句。

While语句格式:

While 表达式

循环体

End

  当表达式的判断条件为真时就执行循环体,反之,则跳出循环,继续执行后面的语句。

需要注意的是在执行该循环时,需要在循环体中设置修改表达式中的值,使表达式的循环条件由真变假,跳出循环,否则会陷入死循环。但有时会在控制语句中加入break语句跳出循环。

实例:While 循环语句的使用

计算 100+99+…+1

s=100;

n=0;

sum=0;

while s>0

sum=sum+s;

s=s-1;

n=n+1;

end

在m文件中输入上述代码,保存问脚本文件,在命令行运行代码,结果如下:

 >> s

s =

     0

>> sum

sum =

        5050

>> n

n =

   100

6.3.3 continue语句和break语句

   ·continue语句

    MATLAB提供了continue用于控制循环,当程序运行到该语句时会忽略其后面的循环语句,直接跳入下一次循环。

实例: continue语句的使用

   计算向量a的倒数

    >> a=[1 2 3 4 5 6 7 8 9 1];

>> for i=1:10

if a(i)==0

b(i)=0;

continue;

end

b(i)=1./a(i);

end

·break语句:

MATLAB提供的break语句,当运行到break时,无论表达式的判断条件真假都会跳出循环,执行循环后面的语句。

实例:Break语句的使用

当能被5整除时,退出循环。

>> for i=1:20

if mod(i,5)==0

break;

end

n=i;

end

>> disp(i)

     5

 

>> disp(n)

     4

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值