Matlab中while語(yǔ)句使用 | 您所在的位置:網(wǎng)站首頁(yè) › 屬猴二月出生的女孩命運(yùn) › Matlab中while語(yǔ)句使用 |
目錄 語(yǔ)法 說(shuō)明 示例 重復(fù)執(zhí)行語(yǔ)句,直到表達(dá)式為 False 跳至下一循環(huán)迭代 在表達(dá)式為 false 之前退出循環(huán) while語(yǔ)句是條件為true時(shí)重復(fù)執(zhí)行的while循環(huán)。 語(yǔ)法 while expression statements end提示 如果意外創(chuàng)建了一個(gè)無(wú)限循環(huán)(即永遠(yuǎn)不會(huì)自行結(jié)束的循環(huán)),請(qǐng)按下?Ctrl+C?停止執(zhí)行循環(huán)。 如果條件表達(dá)式的計(jì)算結(jié)果是一個(gè)矩陣,則僅當(dāng)該矩陣中的所有元素都為 true(非零)時(shí),MATLAB 才會(huì)計(jì)算這些語(yǔ)句。要在任何元素為 true 時(shí)執(zhí)行語(yǔ)句,在any函數(shù)中對(duì)表達(dá)式換行。 要以編程方式退出循環(huán),可以使用break語(yǔ)句。要跳過(guò)循環(huán)中的其余指令,并開(kāi)始下一次迭代,可以使用continue語(yǔ)句。 嵌套許多 while 語(yǔ)句時(shí),每個(gè) while 語(yǔ)句都需要一個(gè) end 關(guān)鍵字。 ????????MATLAB while 循環(huán)類(lèi)似于其他編程語(yǔ)言(如 C 和 C++)中的 do...while 循環(huán)。但是,while 在循環(huán)的開(kāi)頭而不是末尾計(jì)算條件表達(dá)式。 do % Not valid MATLAB syntax statements while expression????????要模擬 do...while 循環(huán)的行為,請(qǐng)將 while 的初始條件設(shè)置為 true,并將條件表達(dá)式放入循環(huán)內(nèi)。例如,通過(guò)使用 MATLAB while循環(huán)實(shí)現(xiàn)上面的do...while循環(huán)。 while true statements if ~expression break end end 說(shuō)明while expression, statements, end 計(jì)算一個(gè)表達(dá),并在該表達(dá)式為 true 時(shí)在一個(gè)循環(huán)中重復(fù)執(zhí)行一組語(yǔ)句。表達(dá)式的結(jié)果非空并且僅包含非零元素(邏輯值或?qū)崝?shù)值)時(shí),該表達(dá)式為 true。否則,表達(dá)式為 false。 示例 重復(fù)執(zhí)行語(yǔ)句,直到表達(dá)式為 False????????使用 while 循環(huán)計(jì)算 factorial(10)。 n = 10; f = n; while n > 1 n = n-1; f = f*n; end disp(['n! = ' num2str(f)]) n! = 3628800 跳至下一循環(huán)迭代????????統(tǒng)計(jì)文件 magic.m 中的代碼行數(shù)。使用continue語(yǔ)句跳過(guò)空白行和注釋。continue跳過(guò)while循環(huán)中的其余指令并開(kāi)始下一迭代。 fid = fopen('magic.m','r'); count = 0; while ~feof(fid) line = fgetl(fid); if isempty(line) || strncmp(line,'%',1) || ~ischar(line) continue end count = count + 1; end count count = 34 fclose(fid); 在表達(dá)式為 false 之前退出循環(huán)????????求隨機(jī)數(shù)序列之和,直到下一隨機(jī)數(shù)大于上限為止。然后,使用break語(yǔ)句退出循環(huán)。 limit = 0.8; s = 0; while 1 tmp = rand; if tmp > limit break end s = s + tmp; end表達(dá)式 ????????表達(dá)式可以包含關(guān)系運(yùn)算符(例如?= pi) disp('Expressions are true') break end ????????表達(dá)式的第一部分的計(jì)算結(jié)果為 false。因此,MATLAB 不需要計(jì)算表達(dá)式的第二部分,否則會(huì)導(dǎo)致未定義的函數(shù)錯(cuò)誤。 |
CopyRight 2018-2019 實(shí)驗(yàn)室設(shè)備網(wǎng) 版權(quán)所有 |