Info

This question is closed. Reopen it to edit or answer.

Creating an array by repeating the index of a cell by the length of the cell

1 view (last 30 days)
I have a cell array of data shown below. I would like to create a new array (output) where the index of the cell is repeated "x" times. Where "x" is equal to the length of that specific cell. I can do this with for loops, but can it be done with a simple function?
data = {[1,2,3], [4,5], [6], [7,8,9,10]}
% output = [1,1,1,2,2,3,4,4,4,4]

Answers (1)

John Malik
John Malik on 28 Apr 2017
repelem(1:length(data), cellfun(@length, data))

Products

Community Treasure Hunt

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

Start Hunting!