[問題] 如何寫遞迴已回收

看板MATLAB作者 (阿豪)時間14年前 (2011/06/03 21:25), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串1/1
小弟想請問遞迴的寫法 目前程式中有段程式是要判斷 surround是否是空集合 然後產生一個新的surround if isempty(surround)==1 u=find(visited ==0); k = find( netYloc(u) >1 & visited(u)==0); u = u(k); o= find(visited(u+1)==1 | visited(u-1)==1 ); u = u(o); addmatrix = u(1); visited(addmatrix)=1 ; surround = [addmatrix+img_width addmatrix-img_width addmatrix+img_width+1 addmatrix+img_width-1 addmatrix-img_width+1 addmatrix-img_width-1 addmatrix+1 addmatrix-1 ]; total = find( netYloc(u) >1 & visited(surround)==0); surround = surround(total) ; surround = unique(surround) ; num = numel(surround); end 但執行時發現在某些狀況下 仍然有可能找到空集合的surround 所以要繼續執行這段code 直到surround不回空集合為止 請各位大大指點指點 感激不盡~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.4.202

06/03 22:25, , 1F
改用 while?
06/03 22:25, 1F
文章代碼(AID): #1DwE3NF5 (MATLAB)