[問題] 判斷點數的連續性已回收

看板MATLAB作者 (Who and or.............)時間13年前 (2011/05/23 14:18), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/2 (看更多)
各位板友您好 小弟有一個問題想請教各位 假設有一段向量 V = [0 0 7 5 7 9 4 2 0 0 1 5 9 0 0 7 8 ]; 要找出連續五個以上非0的值,並且保留,其餘的都變成0, 使得結果 V = [0 0 7 5 7 9 4 2 0 0 0 0 0 0 0 0 0]; 應該怎麼寫呢? 以下 是我的寫法 s = find(V~=0); % 找出非0的位子 if s(1) ~= s(2)-1 % 找出連續性 V(s(1)) = 0; elseif s(1) ~= s(3)-2 V(s(1):s(1)+1) = 0; elseif s(1) ~= s(4)-3 V(s(1):s(1)+2) = 0; elseif s(1) ~= s(5)-4 V(s(1):s(1)+3) = 0; else V(s(1)); end 這是我想到的方法 但是發現這樣並沒辦法以for的方式去判斷 想請教版友們友什麼想法可以提供給小弟 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.120.31.148 ※ 編輯: LoveHKS 來自: 140.120.31.148 (05/23 14:22)
文章代碼(AID): #1DsVmkQy (MATLAB)
文章代碼(AID): #1DsVmkQy (MATLAB)