How to create this monotonically increasing list of numbers?

I want to use a vector V of length N
V = [1 1 2 1 2 3 1]
to create a monotonically increasing list L, where the values of L are as follows:
L = [1 2 3 3 4 5 5 6 6 6 7]
So the entries 1:N of V dictate how many times V(N) is listed sequentially in L,
i.e. the 1st entry in V is listed in L a total of V(1) times..., the nth entry of V is listed in L a total of V(n) times.

 Accepted Answer

V = [1 1 2 1 2 3 1]
n = 1:numel(V);
L = repelem(n,V)

More Answers (1)

Here is one way
V = [ 1 1 2 1 2 3 1];
L = [];
for i = 1:length(V)
L = [L repelem(i, V(i))];
end
L

Categories

Find more on Linear Algebra in Help Center and File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!