用零填充连续的重复元素

jar*_*ead 0 matlab vector

考虑以下向量:

A=[1 1 1 2 2 2 1 1 1 1 3 2 2 4 4 4 4]
Run Code Online (Sandbox Code Playgroud)

如何填充任何连续的值,以便结果向量将由以下公式给出:

B=[1 0 0 2 0 0 1 0 0 0 3 2 0 4 0 0 0] 
Run Code Online (Sandbox Code Playgroud)

考虑第一个元素不为零的情况。

Cri*_*ngo 5

基于这个其他答案,该答案删除了连续的重复元素,我们可以为这个问题建立答案。

A = [ 1 1 1 2 2 2 1 1 1 1 3 2 2 4 4 4 4];
I = [false,diff(A)==0];
B = A; B(I) = 0;
Run Code Online (Sandbox Code Playgroud)