Azzera filtri
Azzera filtri

Vertical concatenation of cell array of different dimensions

17 visualizzazioni (ultimi 30 giorni)
Hi,
I am having two cell array of different dimensions, like a = 1*28 and b= 1*30. I need to concatenate vertically and in the form of c = 2*30. The missing cells in cell array should be zero. How can I do this? Kindly help me with this. Thanks in advance.

Risposta accettata

Jash Kadu
Jash Kadu il 13 Lug 2022
Hi,
a = 1*28
b = 1*30
By using this MATLAB will automatically fill missing elements with zeros.
a(numel(b)) = 0;
For Vertical concatenation:
c = [a;b]
c will now be 2*30
You can also refer to the following documentation for more information:

Più risposte (1)

Chunru
Chunru il 13 Lug 2022
% I am having two cell array of different dimensions, like a = 1*28 and b= 1*30.
% I need to concatenate vertically and in the form of c = 2*30. The missing cells
% in cell array should be zero
% Some example data
a = cell(1, 5); % 28
a{1} = rand(3); a{5}="abc";
b = cell(1, 7); % 30
b{1} = rand(2); b{7}="def";
c = num2cell(zeros(2,7)); % 30
c(1, 1:5) = a;
c(2, 1:7) = b;
c
c = 2×7 cell array
{3×3 double} {0×0 double} {0×0 double} {0×0 double} {["abc" ]} {[ 0]} {[ 0]} {2×2 double} {0×0 double} {0×0 double} {0×0 double} {0×0 double} {0×0 double} {["def"]}

Categorie

Scopri di più su Creating and Concatenating Matrices in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by