Consolidating vectors - Programmers Heaven

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Categories

Consolidating vectors

veryADDveryADD Posts: 1Member
Hi

I have a large number of vectors where certain values repeat multiple times in succession. I would like to consolidate these values so that instead of multiple elements for one certain value there is only one. The order of the original values shouldn't change. Essentially what i want to do is

Turn this: [1 1 1 2 2 2 3 3 3 1 1 1 1 1]
into this: [1 2 3 1]

My current implementation is based on while-loops and looks pretty ugly. I'm wondering if there is a smarter way to do this?

Comments

  • jjasso5jjasso5 Posts: 41Member
    We can't know if there's a better approach if you don't
    mention yours...

    Try this approach

    v = [1 1 1 2 2 2 3 3 3 1 1 1 1 1]

    c = v(1);
    for i = 2 : length(v)
    if v(i-1)~= v(i)
    c = [c v(i)];
    end
    end
    c


Sign In or Register to comment.