8 Matlab 循環(huán)操作

如果讓一個(gè)人反復(fù)做一件相同或相似的事情,他會(huì)感到厭煩與疲倦,還容易出錯(cuò)。計(jì)算機(jī)天然具備替代人類做重復(fù)工作的優(yōu)勢。Matlab 與其他程序語言一樣,主要采用兩種方式實(shí)現(xiàn)循環(huán)操作。

for 循環(huán)

寫一個(gè)求 1 至給定的整數(shù) n 的和的例子來說明 for 循環(huán)的用法。

sum = 0;
n = input('Please enter the number n: ');
for i = 1: n
    sum = sum + i;
end  
sprintf ('You added 1 to %d, and the result is %d', n, sum)

在這段代碼中,先從用戶那里獲得 n 的值,然后從 1 至 n 逐個(gè)取值加到 sum 上。最終得到的 sum 值就是我們要求的值。

for 后面緊跟著一個(gè)表達(dá)式i = 1:n. 前面說過 : 的用法,顯然
= 右邊的值是一個(gè) 1 到 n 的矩陣。

for 語句后面緊跟著一個(gè)縮進(jìn)了的語句,這個(gè)語句部分,我們常把它稱為循環(huán)體。這里面循環(huán)體只有一個(gè)語句,事實(shí)上,循環(huán)體可以有多個(gè)語句。

整個(gè)的 for 循環(huán)語句以end結(jié)束。

n = 10為例,這個(gè)循環(huán)過程就是從矩陣[1,2,3,4,5,6,7,8,9,10]中依次取值賦給變量i, 然后按順序執(zhí)行循環(huán)體中的語句,在這個(gè)例子中,就是執(zhí)行sum = sum + i. 執(zhí)行到矩陣中的最后一個(gè)值,for 循環(huán)就結(jié)束。

一點(diǎn)編程經(jīng)驗(yàn)經(jīng)驗(yàn)都沒有的同學(xué)可能理解這些程序稍有點(diǎn)困難,可以拿張紙,將程序每一步的執(zhí)行結(jié)果都寫出來。

這里 i 值不必須要用在循環(huán)體中,也可以作為計(jì)數(shù),用來重復(fù)循環(huán)體中語句特定次數(shù)。比如下面的例子:

for i = 1:10
    disp('Hello World!')
end

這個(gè)程序的功能是顯示十次Hello World!

for 循環(huán)還可以使用 break 結(jié)束循環(huán),也可以使用continue 結(jié)束當(dāng)前循環(huán),進(jìn)入下一次循環(huán)。取 n = 10,把剛才那個(gè)程序改一下:

sum = 0;
n = 10;
for i = 1: n
    if i == 3
        continue;
    end
    if i == 7
        break;
    end
    sum = sum + i;
end  
disp (sum);

在這個(gè)程序里,用 if 語句判斷 i 的值是不是 3 ,如果是 3 則跳過循環(huán)體中后面的語句,進(jìn)入下一次循環(huán),也就是取 i 為4,并繼續(xù)執(zhí)行循環(huán)體中的語句。

如果 i 的值是 7 ,則退出循環(huán)。

請注意,這里跳出當(dāng)前循環(huán)體中的語句,進(jìn)入下一次循環(huán),用的是 continue. 而退出整個(gè)的循環(huán)過程,用的是break. 這也是continuebreak的區(qū)別。

while 循環(huán)

while 循環(huán)是說當(dāng)滿足一個(gè)條件就一直執(zhí)行某些動(dòng)作。我們把上面的例子用 while 循環(huán)改寫一下。

sum = 0;
n = input('Please enter the number n: ');
i = 1;
while i <= n 
    sum = sum + i;
    i = i + 1;    
end  
sprintf ('You added 1 to %d, and the result is %d', n, sum)

在這段代碼里面,i 的初始值是 1,只要 i 的值小于等于 n 的值,就一直執(zhí)行 sum = sum + i的動(dòng)作。為了保證 i 值的同步變化,需要在做完sum = sum + i動(dòng)作后,讓 i 的值也同步增加1。

其他的與 for 循環(huán)類似,不再贅述。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容