MATLAB中for迴圈與while迴圈的區別

2021-04-17 19:19:56 字數 3956 閱讀 8880

1樓:qq號

while可以在不知道最大迴圈次數的情況下,在滿足條件的時候退出迴圈,

但是for必須指定最大迴圈次數,到達最大迴圈次數時就要退出了,在滿足條件時也可以退出的.

2樓:把盞飲寂寞

同樣的功能抄,用for和while都能實現;雖然如此,但這兩個命令各有優勢,同一項功能,用這兩個命令實現起來的複雜程度可能不一樣!

自己總結認為:

for用於有限次數的迴圈計算較簡潔;while用於滿足一定條件的迭代迴圈較方便;

matlab中,while迴圈巢狀for迴圈,在for迴圈中如何跳出while迴圈

3樓:百川一歸大海

內嵌迴圈用break還不行最後做個判斷吧

flag=1;

while flag

for i=1:10

if i>9

flag=0          %跳出while迴圈break;%跳出for迴圈

endendend

4樓:匿名使用者

對於巢狀迴圈,break只能跳出包括該語句的最裡面一層迴圈。

如果相同時跳出外層迴圈,我知道的做法有:

1、如果後面沒有其他**,可以直接return。你已經宣告瞭,這個不適合。

2、設定一個標誌量flag,在break的時候修改flag,而在外層則根據flag的值決定是否跳出迴圈。這種方法有時會顯得比較繁瑣。

3、使用try-catch結構,在應該break的位置產生一個出錯資訊,由catch捕獲,然後break。

while 1

tryfor i=1:10

if i>9

error('跳出while迴圈');

endend

catch

break

endend

matlab 中while迴圈語句的用法?

5樓:丿

while語法:

while expression

statements

end說明:while expression, statements, end 計算一個表示式,並在該表示式為 true 時在一個迴圈中重複執行一組語句。表示式的結果非空並且僅包含非零元素(邏輯值或實數值)時,該表示式為 true。

否則,表示式為 false。

示例**如下:

function [sum] = summation(ratio, head, top)

sum = 0;

while (head <= top)

sum = sum + ratio ^ head;

head = head + 1;

endend

假設ratio = 2,head = 0,top = 63

擴充套件資料

matlab控制流語句包括條件語句、迴圈和分支。

if, elseif, else 條件為 true 時執行語句。

for 用來重複指定次數的 for 迴圈。

parfor 並行迴圈。

switch, case, otherwise 執行多組語句中的一組。

try, catch 執行語句並捕獲產生的錯誤。

while 條件為 true 時重複執行的 while 迴圈。

break 終止執行 for 或 while 迴圈。

continue 將控制權傳遞給 for 或 while 迴圈的下一迭代。

end 終止**塊或指示最大陣列索引。

pause 暫時停止執行 matlab。

return 將控制權返回給呼叫函式。

6樓:匿名使用者

用法如下:

matlab中while迴圈的語法是

while

end只要表示式(expression)為true,while迴圈將重複執行程式語句(statements)。

當結果為非空並且包含所有非零元素(邏輯或實數)時,表示式(expression)為true。 否則,表示式(expression)為false。

擴充套件資料:

迴圈語句種類如下

一、計次迴圈

迴圈體內的命令重複執行指定的次數。提供的整數引數值決定將重複執行的次數。

計次迴圈首 (迴圈次數, 已迴圈次數變數)

計次迴圈尾 ()

二、判斷迴圈

根據提供的邏輯引數的值,來決定是否進入迴圈。如果提供的邏輯引數值為真,程式順序執行下一條命令進入迴圈,否則跳轉到本命令所對應的「判斷迴圈尾」命令的下一條命令處以跳出迴圈。

判斷迴圈首(條件)

判斷迴圈尾 ()

三、迴圈判斷

迴圈判斷尾為迴圈的條件所在,根據提供的邏輯引數的值,來決定是否返回到迴圈首部繼續進行迴圈。如果提供的邏輯引數值為真,程式返回到對應的「迴圈判斷首」命令處繼續進行迴圈,否則順序執行下一條命令退出本程式迴圈。

迴圈判斷首 ()

迴圈判斷尾 (條件)

7樓:雪窗螢火

像這種迴圈語句的用法對於我來說真的是一點都不懂的,不好意思的。

8樓:匿名使用者

num=0;

i=0;

while (i<64)

a = 2 ^i;

num=num+a;

i = i + 1;end

9樓:

matlab while迴圈的用法。while迴圈的使用與for迴圈是類似的。但是其中還是有不少的區別,例如對於迴圈次數而言,while迴圈的次數是不定的,而for迴圈如果你不加上判斷語句他會一直迴圈下去的。

matlab while 迴圈介紹

10樓:熱心網友

這個問題太專業了,你可以問問其他人

11樓:匿名使用者

clc;

clear;

i = 0;

temp = 0;

while( i < 64 )

temp = temp + 2^ i;

i = i + 1;end

12樓:匿名使用者

a=1;sum = 0;count = 0;while 1 sum = sum+a; a = a*2; count = count +1;if count> 63 break;endend

13樓:匿名使用者

首先你實現一個求冪次的迴圈函式,然後呢?再套用一層for迴圈去呼叫這個迴圈函式,就可以了,希望可以幫到你

在matlab中分別用for和while迴圈語句計算k=1+0.2+0.2^2+...+0.2^1000000的程式。

14樓:匿名使用者

比較簡單的迭代一般不用迴圈算,比如:

pow = 0:10000;

term = 0.2 .^ pow;

k = sum(term)

你這個不用算那麼多項。因為 0.2 的 10 次方就已經是 1e-7 這個數量級了,算二三十項就差不多了,多算也不會提高精度。

最後如果你知道等比級數的公式的話,結果其實就是 1/(1-0.2) = 1.25。

15樓:匿名使用者

為什麼要用迴圈呢?

直接sum(0.2.^(0:1:1000000))

16樓:匿名使用者

while迴圈:

i=0;

sum=0;

while i<=1000000

sum=sum+0.2^i;

i=i+1;

endfor迴圈:

sum=0;

for i=0:1000000

sum=sum+0.2^i;end

matlab中迴圈呼叫同函式是不是很慢?和呼叫函式後再循

這個問題不能一概而論。一般情況,迴圈語句for.end是較慢的,但程式要求必須用,是沒辦法的。在for迴圈中呼叫函式,與for.end後呼叫同一個函式相比,呼叫快慢是一樣的。matlab 函式中怎麼呼叫自身,進行自迴圈?20 在matlab中,一個函式可以呼叫其它函式,也可以呼叫自身 即遞迴呼叫 利...

MATLAB中如何把迴圈得到的結果儲存下來,比如我編寫M

for la 300 1 350 lb 785 lc 170 r 175 r 90 h 267.5 m 250 lmin 150 lmax 420 a1 pi 2 atan m r h acos m r 2 h 2 lc 2 lmin 2 2 lc sqrt m r 2 h 2 h1 lb la s...

matlab中,matlab中xround100rand1001這個語句是什麼意思

rand 生成0 1之間的一個隨機數 rand 100 1 將這個隨機數擴大99倍 100 rand 100 1 用100減去這個擴大99倍的隨機數 round 100 rand 100 1 對減後的結果四捨五入。其中涉及兩個函式 rand 生成隨機數函式 round 四捨五入函式。matlab中 ...