Add missing rows to a list in a cell array

2 views (last 30 days)
I have a cell array with values like this
...
9 [10370;10371;10372]
10 [12933;12934]
11 10001
12 11320
13 [11347;11348]
14 [10362;10363]
17 [12632;12633]
...
And i want to add blank rows for all the missing numbers in the first collumn so it would look like this
...
9 [10370;10371;10372]
10 [12933;12934]
11 10001
12 11320
13 [11347;11348]
14 [10362;10363]
15
16
17 [12632;12633]
...
I have a list of how many items should appear on the first row but i'm having problems finding a way without using a for loop, the list is too big for that.

Accepted Answer

cdawg
cdawg on 29 Jun 2023
Will this work?
m = {...
9 [10370;10371;10372]
10 [12933;12934]
11 10001
12 11320
13 [11347;11348]
14 [10362;10363]
17 [12632;12633]};
inds = cell2mat(m(:,1));
lastRow = 20;
M = cell(lastRow,2);
M(inds,2) = m(:,2);
M(inds,1) = m(:,1)
M = 20×2 cell array
{0×0 double} {0×0 double} {0×0 double} {0×0 double} {0×0 double} {0×0 double} {0×0 double} {0×0 double} {0×0 double} {0×0 double} {0×0 double} {0×0 double} {0×0 double} {0×0 double} {0×0 double} {0×0 double} {[ 9]} {3×1 double} {[ 10]} {2×1 double} {[ 11]} {[ 10001]} {[ 12]} {[ 11320]} {[ 13]} {2×1 double} {[ 14]} {2×1 double} {0×0 double} {0×0 double} {0×0 double} {0×0 double}

More Answers (0)

Categories

Find more on Matrices and Arrays in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!