[討論] matlab不斷處於busy狀態

看板MATLAB作者 (Saint)時間12年前 (2013/09/08 13:57), 編輯推噓1(103)
留言4則, 3人參與, 最新討論串1/1
小弟是個matlab新手 我將一個A變數帶入至副程式 並利用回傳的值在主程式中重新計算一個新的A並再帶入副程式 因為A在主程式中會利用迴圈進行疊加 每當有新的回傳值就要計算新的A 所以我在每次重新計算A之前用A=[0 0 0 0]的方式來重設A的值 但只要多了這個重設的動作就會讓matlab在執行時停在busy狀態 無法手動停止,只能強制關閉程式 想請問造成的原因或是有其他能重設A的方式嗎? 附上程式: while settol<trytol && nfunc2<=5 u= MySimplex5(Array2,test,p,q); test=[0 0 0 0]; %只要重設test就會卡在busy for e=1:4 for v=1:5 h=u(e,1)*p(v)^2+u(e,2)*p(v)+u(e,3); test(e)=test(e)+((abs(h-q(v)))^2)/5; end end trytol=min(test); o=find(test==min(test)); z=u(o,:); Array2=u; nfunc2=nfunc2+1; end -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 36.224.23.199

09/08 15:55, , 1F
''clear A''???
09/08 15:55, 1F
我在主程式加入clear A以及重設A=[0 0 0 0],一樣處在busy 若只有clear A,則後面的 A=A+... 因為沒有宣告A而無法執行 ※ 編輯: Saint1225 來自: 36.224.23.199 (09/08 16:23) ※ 編輯: Saint1225 來自: 36.224.23.199 (09/08 17:56)

09/09 11:14, , 2F
zeros?
09/09 11:14, 2F

09/09 13:35, , 3F
為什麼要重設test 你的test部分看起來像疊代
09/09 13:35, 3F

09/09 13:36, , 4F
把test清掉他就一直停在疊代一次 busy是因為無窮迴圈
09/09 13:36, 4F
文章代碼(AID): #1IB16zVW (MATLAB)