计算重复中向量中的相邻元素-MATLAB

时间:2019-07-19 18:56:36

标签: matlab vector counting

 <body>
    <div class="main"> 
     Your content
    </div>
    <div class="footer">
      Your Footer
    </div>
  </body>

我正在寻找一种计数向量v = [1,1,1,2,3,3,4,4,4,4,2,3,3,3,1,1] 中相邻元素而不丢失重复数的方法。 这是所需的输出:

c

2 个答案:

答案 0 :(得分:2)

使用diff()识别更改点,然后获取这些点的索引。

id = diff(v)==0; 
idx = strfind([id 0], 0);
c = [idx(1) diff(idx)]

输出:

c =

     3     1     2     4     1     3     2

答案 1 :(得分:1)

Answer来自 Mathworks

% code
v = [1,1,1,2,3,3,4,4,4,4,2,3,3,3,1,1];
c  = diff([0 find(diff(v)) numel(v)])

% output
c = [3  1  2  4  1  3  2]