MATLAB程序控制語句


   Matlab中的程序控制語句包括條件控制(Conditional Control)、循環(Loop Control)、異常處理(Error Control)和程序返回(Program Terminate).

1 條件控制語句

條件控制語句又稱分支語句,在Matlab中包括if語句switch語句.

  (1) if 語句可以包含多個else或elseif也可以不包含,它必須以end結尾,例如  

a = 25;
if a>30
    disp(‘a比30大’); %輸出字符串
elseif a>20
    disp(‘a比20大比30小’);
else
    disp(‘a比20小’);
end;

在命令窗口中運行結果如下:

  

  注意,其中elseif是連寫.

  (2) Switch 語句一般包含若干個case和一個otherwise,且必須以end結尾,當表達式的值滿足某一個case后,就只執行此case下的語句並結束,不再考慮后面的case. 例如

a = 25;
switch rem(a,2)
    case 0
        disp(‘a能被2整除’); 
    case 1
        disp(‘a不能被2整除’);
    otherwise
        disp(‘異常’);
end;

 2 循環語句

  Matlab中的循環語句包括for循環while循環,循環內支持用continuebreak語句跳出循環.

  (1) for 循環用於循環次數明確的情況下, 其中控制循環的索引變量用冒號隔開,整個循環語句以end結束. 在默認情況下,每執行一次循環則索引變量加1(也可以自定義索引變量的步長,讓每執行一次循環使索引變量增加kk可為負數),當索引變量的值大於設定的結束值時結束循環.例如

x(1,1)=1;
for n=2:6
    x(1,n)=2*x(1,n-1)
end;

 在命令窗口中運行結果如下:

  

  (2) while循環用於在滿足一定條件的情況下一直執行一段語句,當while后的條件不再滿足時則結束循環, 例如

x(1,1)=1;
n=2;
while x(1,n-1)<128
    x(1,n)=2*x(1,n-1);
    n=n+1;
end;

 的運行結果為 x=[1,2,4,8,16,32,64,128].

3 continue 和 break語句

  簡而言之,continue是結束本循環,break是結束本循環.

  例如在一個for循環中,假設循環索引變量是i, 在i的取值為1到100之間的情況下執行循環(即執行100次循環),且循環模塊中的語句總共有30條. 如果在i=50時,執行了循環區域中的前10條語句后出現了continue語句,則此時程序會放棄執行剩下的20條語句,轉而執行第i=51次的循環. 因此,continue語句並不改變循環的總次數,只會導致某(些)次循環執行得不完整.

  在相同情況下,如果程序在執行了循環區域中的前10條語句后出現break語句,則直接跳出該for循環,轉而執行整個循環模塊以外的后面的語句. 如果該循環模塊包含在另一個大的循環模塊中,則繼續在大循環模塊中執行循環. 因此,break語句會改變循環的次數.

4 try...catch語句

  try…catch 語句用於異常和錯誤處理,當捕獲到一個異常時則執行catch后的語句,最后以end結尾,其語法結構如下

try
    statement
    …
    statement
catch meObj
    statement
    …
    statement
end;

 5 return 語句

  return語句用於直接結束執行,繼而返回函數值.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM