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?

 Réponse acceptée

Andrei Bobrov
Andrei Bobrov le 8 Août 2019
Modifié(e) : Andrei Bobrov le 8 Août 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 commentaires

Kafayat Olayinka
Kafayat Olayinka le 8 Août 2019
thank you. this works. and if i need to stack more array into A. such that A[A1;A2;A3;A4;...] will it work?
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));
Kafayat Olayinka
Kafayat Olayinka le 8 Août 2019
It worked! thank you very much!!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

Community Treasure Hunt

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

Start Hunting!

Translated by