----流程控制-条件控制/循环控制\错误控制/程序终止控制

----------流程控制

1 条件控制

 if/elseif  语句  可以有选择的运行程序块 。

switch/case   表达式是值有多个不同,有多个选择的时候。

编辑器

function myfun1(x)

 if x<=0

   disp('x<=0.')

elseif  x<=10            %否则如果

    disp('x>0 && x<=10.') 

else                            %否则

    disp('x>10.')

 end

 

命令行窗口测试

myfun1(3)

myfun1(13)

myfun1(-13)

注意

Matlab中大于一个数A且小于另一个数B的表示方法为:

x>A&x<B  或者 x>A&&x<B

二者的区别为:

1、单个&表示且的关系,需要同时计算 x>A和x<B两个分支,然后判断总的结果;

&&也表示且的关系,但是一旦计算出x>A为假就可直接得到整个表达式为假,从而不再计算x<B分支。

2、单个&运算时,A、B可以为标量数值或者矩阵,而&&只能对标量数值进行计算。

矩阵是MATLAB中数据的基本格式。向量和标量都可以理解为矩阵。当矩阵只有一维时,就是向量,1行n列的矩阵称为行向量,m行1列的矩阵称为列向量,1行1列的矩阵称为标量(就是单独的一个数)

 

function myfun2(method)

 switch(method)

    case 'linear'

      disp('方法为线性方法')

   case 'cubic'

       disp('方法为三次方法')

end 

测试

myfun2('cubic')

区别

能使用switch/case 尽量使用,更好读,可以比较不同长度的字符串。只能测试相等性匹配

if/elseif 可读性没有上面的好,比较字符串的话要使用strcmp函数。不仅能测试相等性还能测试不等性。

2循环(重复执行)控制

for 循环   :   指定次数的循环 

while 循环  :一直执行直到不满足条件为止。循环次数是不确定

function f=myfun3

 f=0;

for  i(变量)=1:10    (10次循环)

     f=f+i;

end

测试

myfun3

 

 

 

function f=myfun4

n=0;

f=0;

while n<10    (满足这个表达式)

   n=n+1;

    f=f+n;

end

  myfun4

循环控制:4个语句

 untile  ,---

 

3  错误控制

function myfun5

 try

     s=and(1,2,3);      % and逻辑运算后面只能有2个

catch

    error('参数过多.')

end

 

测试

myfun5

 

4 程序终止控制

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值