adding multiple arrays into one big array

1 visualizzazione (ultimi 30 giorni)
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?

Risposta accettata

Andrei Bobrov
Andrei Bobrov il 8 Ago 2019
Modificato: Andrei Bobrov il 8 Ago 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 Commenti
Andrei Bobrov
Andrei Bobrov il 8 Ago 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 il 8 Ago 2019
It worked! thank you very much!!

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by