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中 ...