matlab while 迴圈 如何退出

時間 2021-08-11 17:42:29

1樓:

通過break 跳出當前的迴圈通過continue執行當前的迴圈 end指if或for的結束就相當中括號

哥們你的演算法有問題的 一直是同一個值

再好好看看演算法吧

2樓:逃課小屁孩

參考對於退出迴圈, 如果可以使用break

或者使用 套用判斷語句if  通過if改變迴圈的次序i的值。

3樓:求雅韻

主要新增**,記錄迴圈次數

count=count+1; %迴圈次數+1

if count>10000 %迴圈次數過多,強制退出

break

end強制跳出迴圈,從執行結果看,還是一個死迴圈。所以還要檢查自己的判斷條件。

更改了你的continue,break位置。自己看一下注釋

clear

clc%下面為輸入基本資料

hm=2500;%⑤點最高高度

hn=1700;%⑤點最低高度

a5=83*pi/180;%計算a角時的初始賦值

b2=702;

b3=320;

l1=1230;

l2=1330;

l3=1000;

l4=400;

l5=560;

%下面為各點座標計算公式,以左下角點為(0,0)

x1=l5;y1=b3;

%以⑤點進行高度迴圈,從2500降到1700時(步長為-100),利用華羅庚的0.618優選法建數學模型,計算a角的對應值

%下面數學模型已建立,不知如何編制迴圈語句,將a角求出。

for z=hm:-100:hn

a6=6*pi/180;g=0.01;

a7=a5-a6;

count=0;%測試迴圈次數,檢查是否為死迴圈

while 1

count=count+1; %迴圈次數+1

if count>10000 %迴圈次數過多,強制退出

break

enda=a5-0.618*(a5-a7);

x2=x1+l1*cos(a);

y2=b3+l1*sin(a);

x4=0;

y4=b2;

l0=sqrt((x2-x4)^2+(y2-b2)^2);%l0為輔助計算線

a8=acos((l0^2+l2^2-l4^2)/(2*l0*l2))*pi/180;

a9=atan((y2-b2)/(x2-x4))*pi/180;

a2=a8+a9;

x3=l2*cos(a2);

y3=l2*sin(a2)+b2;

a1=atan((y3-y2)/(x2-x3))*pi/180;%a1為l3線的水平夾角

x5=x2-(l3+l4)*cos(a1);y5=y2+(l3+l4).*sin(a1);

fh=y5-z;

%滿足條件,跳出本次迴圈1

if fh>g

a5=a;

continue;%返回到a=a5-0.618*(a5-a7);

end%滿足條件,跳出本次迴圈2

if fh<-g

a7=a;

continue;%返回到a=a5-0.618*(a5-a7);

endif abs(fh)

disp([z,a*180/pi]);%結束一次,將所要高度與對應角度打出

a5=a;%為減少計算次數,將a賦值給a5

break%跳出 while 所有迴圈

end% break 位置不對

% break%跳出所有迴圈

endend

matlab中的如何跳出while死迴圈

4樓:匿名使用者

在matlab中,如沒有正確使用好while條件迴圈語句,很容易出現死迴圈

版現象。預防死迴圈的對策權

有:1、在while條件迴圈語句中,設定判斷語句,當條件不滿足時,直接執行 break 中斷語句,跳出迴圈;

2、在while條件迴圈語句中,設定判斷語句,當條件不滿足時,直接執行 return 中斷語句,中斷執行該程式,跳回到主調函式或指令視窗;

3、如不小心進入死迴圈,可以採用快捷鍵ctrl+c強行中斷。

5樓:疾風動竹

(1)強制跳出

ctrl+break

(2)條件跳出

在while語句中滿足某條件則跳出。

如預設最大迴圈次數n,在while迴圈體裡(其中n為當前迴圈次數):

if n>n

break;end

6樓:

while 1

c=input('please input a character: ','s');

if abs(str2num(c))==13break;

endend

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

7樓:百川一歸大海

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

flag=1;

while flag

for i=1:10

if i>9

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

endendend

8樓:匿名使用者

對於巢狀迴圈,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

如何優化外迴圈的sql

sql關係到系統的執行效率,優化是sql的常說話題,那麼,如何優化sql語句呢?優化sql語句的十個重要步驟。步驟 方法 確保timed statistics在例項級設定為true。確保max dump file size設定為足夠大的值。確定指向user dump dest的位置,並確保有足夠大的...

0 9迴圈如何改寫成分數,迴圈小數0 9怎樣化成分數

設a 0.9迴圈。設b 10 a 9.9。b a 9 a 9 所以a 1 即0.9迴圈 1 對於所以迴圈小數都可以這樣做 考慮0.9的迴圈是0.3迴圈的3倍 即可得到答案 1 3 3 0.9的迴圈 山西的小瘋子 0.9999999.9 0.1 0.01 0.001 0.00.1 把後面的求和 0.1...

家用暖氣迴圈泵如何排氣,暖氣暖氣迴圈泵怎麼用

向日葵 在泵的出口處安裝一個閥門以開啟閥門。當泵排出液體時,迅速關閉排氣閥以完成排氣任務。迴圈泵是指輸送,吸收,分離和再生裝置中的液體的迴圈流體泵。它的下壓頭僅用於克服迴圈系統的壓降。可以使用低揚程泵。迴圈泵是指泵的功能,離心泵是指泵的結構。這兩個完全是兩個概念。迴圈泵的工作原理用於迴圈水的泵稱為迴...