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.

 채택된 답변

cdawg
cdawg 2023년 6월 29일
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}

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Matrices and Arrays에 대해 자세히 알아보기

제품

Community Treasure Hunt

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

Start Hunting!

Translated by