# How to create a cell array identical in size, but containing cell position in each cell?

5 views (last 30 days)
NeuronDB on 1 Dec 2021
Answered: G A on 1 Dec 2021
I have a cell array, with different number of elements in each cell. I convert the cells to a 1xn matrix with
For example,
A = {[1,2,3,4]; [1,2,5]; [5,6,1,2,4]; [44]}
A = 4×1 cell array
{[ 1 2 3 4]} {[ 1 2 5]} {[5 6 1 2 4]} {[ 44]}
I want to create a new cell array which is identical in size to A containing cell number as element sof each of the cell such that the output would look like -
B = {[1,1,1,1,]; [2,2,2]; [3,3,3,3,3]; [4]}
B = 4×1 cell array
{[ 1 1 1 1]} {[ 2 2 2]} {[3 3 3 3 3]} {[ 4]}
How can I make this?

G A on 1 Dec 2021
A = {[1,2,3,4]; [1,2,5]; [5,6,1,2,4]; [44]}
B = cell(size(A));
for k = 1:length(A)
B{k} = repmat(k,1,length(A{k}));
end

### Categories

Find more on Data Type Conversion in Help Center and File Exchange

R2021b

### Community Treasure Hunt

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

Start Hunting!