How to create this monotonically increasing list of numbers?

7 Ansichten (letzte 30 Tage)
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.

Akzeptierte Antwort

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

Weitere Antworten (1)

Michiele Ogbagabir
Michiele Ogbagabir am 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

Kategorien

Mehr zu Data Exploration finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by