【正文】
Loop)。 ? for 迴圈的使用語(yǔ)法如下: for 變數(shù) = 向量 , 運(yùn)算式 end ? 其中變數(shù)的值會(huì)被依次設(shè)定為向量的每一個(gè)元素值,來(lái)執(zhí)行介於 for和 end 之間的運(yùn)算式。 ? while 迴圈使用語(yǔ)法如下: while 條件式 運(yùn)算式; end MATLAB 程式設(shè)計(jì)入門篇:程式流程控制 程式流程控制之範(fàn)例一 ? 下列 for 迴圈會(huì)產(chǎn)生一個(gè)長(zhǎng)度為 6 的調(diào)和數(shù)列( Harmonic Sequence): ? 範(fàn)例 161 : x = zeros(1,6)。 end x % 顯示 x x = ? 在上例中,矩陣 x 最初是一個(gè) 16 大小的零矩陣,在 for 迴圈中,變數(shù) i 的值依次是 1 到 6,因此矩陣 x 的第 i 個(gè)元素的值依次被設(shè)為 1/i。 % 變數(shù) x 是一個(gè) 66 大小的零矩陣 for i = 1:6 for j = 1:6 h(i,j) = 1/(i+j1)。 % 印出每一行的平方和 End ? 在上例中,由於 h 是一個(gè)矩陣, 因此 每一次 i 的值就是矩陣 h 的一直行的內(nèi)容。例如,若要找出最小的 n 值,滿足 n! 10100,可輸入如下: ? 範(fàn)例 164 : for i = 1:1000 if prod(1:i) 1e100 fprintf(39。, i, prod(1:i))。 % 跳出 for 迴圈 end end 70! = +100 1e100 MATLAB 程式設(shè)計(jì)入門篇:程式流程控制 程式流程控制之範(fàn)例五 ? 在一個(gè)迴圈內(nèi)若要直接跳至到此迴圈下一回合的執(zhí)行,可使用 continue 指令。 posTotal = 0。 end % 若 x(i) 小於零,跳到此迴圈的下一回合 posTotal=posTotal+x(i)。Continue 指令從 MATLAB 才開始支援,若是使用 MATLAB ,可用 if–then–else 來(lái)達(dá)到相同的功能。 i = 1。 i = i+1。 while prod(1:n) 1e100 n = n+1 end fprintf(39。, n, prod(1:n))。 ? 無(wú)論是 for 或 while 迴圈,均會(huì)降低 MATLAB 的執(zhí)行速度,因此盡量使用向量化的運(yùn)算( Vectorized Operations)而盡量少用迴圈。 MATLAB 程式設(shè)計(jì)入門篇:程式流程控制 162 條件指令 ? MATLAB 支援二種條件指令( Branching Command,或中譯成「分支指令」),一種是 ifthenelse 條件指令,另一種是 MATLAB 在第五版之後開始支援的 switch case otherwise 條件指令,以下