Matlab编程-if,switch,for,while,try catch

1 if 结构:

if control_expr_1  
    Statement 1 
    Statement 2
    ... 
elseif control_expr_2 
    Statement 1
    Statement 2
    ... 
else
    Statement 1
    Statement 2
    ... 
end 

2 switch结构

switch (switch_expr) 
case {case_expr_1, case_expr_1_1, case_expr_1_2},     
    Statement 1
    Statement 2
    ...
case case_expr_2  
    Statement 1
    Statement 2
    ...
otherwise, 
    Statement 1
    Statement 2
    ...
end 

3 try/catch 结构

用于捕捉错误

如果一个错误发生在这个结构的 try 语句块中,那么程序将会执行 catch 语句块,程序
将不会中断。它将帮助程序员控制程序中的错误,而不用使程序中断。

try 
    Statement 1
    Statement 2
    ...
catch 
 
    Statement 1
    Statement 2
    ...
end 

4 while循环

While 循环是一个重复次数不能确定的语句块

while expr 
    ... 
    ... 
    ... 
end 

 5 for循环

for循环以指定的数目重复地执行特定的语句块,

%index 是循环变量,exp 是循环控制表达式
%expr 经常用捷径表达式方式,即 first:incr:last
for index = expr 
     Statement 1 
    ... 
    Statement n 
end 

6 举例

%if else
a=2
if a==1
    b=0
else
    b=1
end

%switch-case
switch a
    case {1,2,3}
        c=0
    otherwise
        c=1
end

%for循环
d=0
for i=1:3
    d=d+1
    if d==2
        e=1
        return
    end
    
end

%try catch
% Initialize array 
a = [ 1 -3 2 5]; 
try 
    % Try to display an element 
    index = input('Enter subscript of element to display: '); 
    disp(['a(' int2str(index) ') = ' num2str(a(index))] ); 
catch 
    % If we get here an error occurred 
    disp( ['Illegal subscript: ' int2str(index)] ); 
end 

%while循环,求平均值
n=0;x=0;sum_x=0;
x=input("input first number:");
while x>=0
    n=n+1;
    sum_x=sum_x+x;
    x=input("input next number:");
end
mean_x=sum_x/n;
fprintf("the sum value of the input numbers is :%f\n",sum_x);
fprintf("the number of the input numbers is :%f\n",n);
fprintf("the mean value of the input numbers is :%f\n",mean_x);

7 break和continue语句

(1)break和continue语句可以控制 while 和 for 循环;

(2)break 语句可以中止循环的执行和跳到 end 后面的第一句执行;

(3) continue 只中止本次循环,然后返回循环的顶部.

break:

%test_break.m 
for ii = 1:5; 
 if ii == 3; 
    break; 
 end 
 fprintf('ii = %d \n', ii); 
end 
disp('End of loop!'); 

执行结果:
>> test_break 
ii = 1 
ii = 2 
End of loop! 

continue:

%test_continue.m 
for ii = 1:5; 
 if ii == 3; 
    continue; 
 end 
 fprintf('ii = %d \n', ii); 
end 
disp('End of loop!'); 

执行结果:
>> test1
ii = 1 
ii = 2 
ii = 4 
ii = 5 
End of loop!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值