matlab死迴圈,問題如圖中所示,求救啊,問題解決之後還能加分

時間 2022-02-12 22:40:08

1樓:匿名使用者

1、matlab中,for迴圈是基於索引的,邏輯上不可能出現死迴圈(當然,如果迴圈次數太多,導致執行時間超出所能忍受的可能性是存在的);而while迴圈是基於判斷的,如果不滿足結束迴圈的條件,就會一直執行下去。

b = px(p);

while b(1)+b(2)<=1

while k1==0|k2==0

for i1=1:n

endfor j1=1:a-1

endwhile i2<=n&i2~=i1

endwhile j2<=a-1&j2~=j1

endend

while e>b(k)&k-1

這裡面的兩個for迴圈都不可能導致死迴圈,第3個以及最後兩個while迴圈也不可能導致死迴圈(因其迴圈體中包含對i2、k的更新,必然會滿足結束條件),存在死迴圈可能的,就是下面這3個巢狀的while迴圈:

while b(1)+b(2)<=1

while k1==0|k2==0

while j2<=a-1&j2~=j1

endend

end3、到底是什麼原因導致了死迴圈,僅通過現在的靜態**分析是不可能得到結論的。合理的做法是對程式執行過程進行跟蹤,比如,可以從最外一層while迴圈入手,使其每一次迴圈都輸出b(1)+b(2)的值,看是否迴圈體一直在執行:如果在執行,檢視b(1)+b(2)的值是否變化(不變的話找原因);如果長時間無輸出,說明下一層迴圈存在問題,那麼就參照類似的做法繼續查。

4、上面說了查問題的思路,如果題主需要我幫助分析,請把**發給我(可通過網盤或私信,注意務必包括子函式px)。

2樓:匿名使用者

程式發我!。。。。。。。。。。。。。。。。。。。。。。

matlab怎麼跳出死迴圈

3樓:恩惠妮阿加西

matlab跳出死迴圈的解決方法:

第一種解決方法:同時按住快捷鍵ctrl-c,這樣能夠終止死迴圈,這種方法並不是都有效,因為某些程式佔據記憶體過高,不容易退出,這時我們採取第二種方法;

第二種解決方法:關閉matlab軟體,這種方法的缺點是不能儲存matlab的中間結果;

第三解決方法:強制關閉matlab軟體,進入工作管理員(同時按住ctrl+alt+delete),關閉matlab,如下圖所示,這種方法的缺點是不能儲存matlab的中間結果;

【擴充套件】

出現死迴圈的時候,matlab軟體的左下方出現busy(當然程式執行過程中busy一直保留,只是死迴圈時,busy一直不會清除,即程式 一直在執行)。

4樓:匿名使用者

matlab有一個自帶的中止方法,按ctrl+break就ok了

5樓:亭亭和皮皮

使用ctrl+alt+delete呼叫工作管理員然後結束它

6樓:匿名使用者

按ctrl+break

怎麼判斷matlab程式是否陷入死迴圈

7樓:匿名使用者

在每個迴圈進入前設定一個輸出,這樣你就知道到哪個迴圈了

你這種情況通常是演算法不收斂或者演算法收斂太慢造成的

8樓:匿名使用者

如果是我我可以考慮下讓每個迴圈內層debug.print個數字,來判斷是否執行正常,另外加上在迴圈期間裡,把控制權給系統的語句!

9樓:乘風踏浪行阿文

1、你在迴圈的中間位置設定一箇中斷,看看有沒有輸出,已確定是哪一半部分有問題,

2、再在出問題的哪一半里的中間位置設定中斷看輸出,再去判斷哪一半有問題,

3、依此類推就會很快找出問題。

10樓:匿名使用者

這個圖靈已經證明了是不可解問題

所以只能手工判斷

求高手解答,**死迴圈了嗎?為嘛matlab程式一直busy啊? 求救啊~~~

11樓:匿名使用者

死迴圈出現是因為while語句下的「fitin=1;」,且if後括號有問題,應為if(ms(newin)fitvalue(1),則執行「fitin=fitin+1;」fitin=2,if語句結束後重新進入while語句,而此時卻又執行「fitin=1;」,致使再次進入if語句判斷結果為「ms(1)>fitvalue(1)」,如此程式進入死迴圈。

急啊!!!matlab程式一直死迴圈不知道什麼原因。

12樓:匿名使用者

一般這種一直迴圈的問題出現在while語句的條件上 你可設定斷點看while語句的條件引數如何變化;gg=[gg,p(l)];提示什麼

請問c如何跳出死迴圈,c 有沒有處理死迴圈異常的語句,怎麼退出死迴圈?

桂含藍 while b true 這個if能執行到嗎?public void stop 放到另一個執行緒肯定可以的。在c 語言中用while語句時當進去死迴圈時怎麼讓它跳出迴圈 用break可以跳出最近的一個while或者for迴圈,如果是在方法或者函式內,也可以用return來跳出。 幻夢 人生 ...

C語言程式設計出現死迴圈

翁汀蘭益琴 注意是 號.不然.哈哈.條件應該是ch i ch i ch i ch i n 或者是樓上說的ch i andch i andch i and ch i n 桓有福爾釵 你開啟的是powerful.doc,一個word文件,裡面的編碼方式不是簡單的asc碼,所以while ch i ch ...

c語言goto語句死迴圈,goto語句是迴圈語句 會死迴圈 嗎?

鬼火狼煙 當執行到goto num 程式就會跳轉回到num printf a 然後又繼續向下執行,如此反覆迴圈下去 凡鳥 你的for迴圈每次初始i 0 然後進來goto num,這樣每次for迴圈中的判斷i都是0 10,所以就是死迴圈。所以說一定要把判斷條件的初始化放在迴圈開始之前。此處應該把i 0...