Vertical concatenation of cell array of different dimensions

14 vues (au cours des 30 derniers jours)
SP
SP le 13 Juil 2022
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.

Réponse acceptée

Jash Kadu
Jash Kadu le 13 Juil 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:

Plus de réponses (1)

Chunru
Chunru le 13 Juil 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"]}

Catégories

En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by