adding multiple arrays into one big array

2 views (last 30 days)
Hi,
I have multiple array with different sizes such as A1=(200 by 3000),A2=(280 by 3020).
I will like to create a zeros matrix: A=zeros(480 by 3020) where i'm able to stack each rows of A1 and A2 inside the new array A.
Such that A=[A1;A2]
what should i do?

Accepted Answer

Andrei Bobrov
Andrei Bobrov on 8 Aug 2019
Edited: Andrei Bobrov on 8 Aug 2019
s1 = size(A1);
s2 = size(A2);
s22 = max(s1(2),s2(2));
A = [A1,zeros(s1(1),s22 - s1(2));A2,zeros(s2(1),s22 - s2(2))];
  3 Comments
Andrei Bobrov
Andrei Bobrov on 8 Aug 2019
Let C = {A1,A2,A3,..,An}';
[m,n] = cellfun(@size,C,'un',0);
nn = max([n{:}]);
A = cell2mat(cellfun(@(x,y,z)[x,zeros(y,nn-z)],C,m,n,'un',0));

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!