How to create this monotonically increasing list of numbers?

20 views (last 30 days)
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

Paolo
Paolo on 11 Jul 2018
Edited: Paolo on 11 Jul 2018
V = [1 1 2 1 2 3 1]
n = 1:numel(V);
L = repelem(n,V)

More Answers (1)

Michiele Ogbagabir
Michiele Ogbagabir on 11 Jul 2018
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 Large Files and Big Data 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!