adding multiple arrays into one big array

2 vues (au cours des 30 derniers jours)
Kafayat Olayinka
Kafayat Olayinka le 8 Août 2019
Commenté : Kafayat Olayinka le 8 Août 2019
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
Andrei Bobrov
Andrei Bobrov le 8 Août 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));
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

En savoir plus sur Logical 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