How to create this monotonically increasing list of numbers?

조회 수: 9 (최근 30일)
Dominik Mattioli
Dominik Mattioli 2018년 7월 11일
답변: Michiele Ogbagabir 2018년 7월 11일
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.

채택된 답변

Paolo
Paolo 2018년 7월 11일
편집: Paolo 2018년 7월 11일
V = [1 1 2 1 2 3 1]
n = 1:numel(V);
L = repelem(n,V)

추가 답변 (1개)

Michiele Ogbagabir
Michiele Ogbagabir 2018년 7월 11일
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

카테고리

Help CenterFile Exchange에서 Data Exploration에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by