[問題] 判斷點數的連續性已回收
看板MATLAB作者LoveHKS (Who and or.............)時間14年前 (2011/05/23 14:18)推噓0(0推 0噓 0→)留言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)
討論串 (同標題文章)
完整討論串 (本文為第 1 之 2 篇):