How to put different arrays in one big array?

5 views (last 30 days)
Meshooo
Meshooo on 31 Jan 2017
Answered: Andrei Bobrov on 2 Feb 2017
Dear all,
I have three arrays with different lenght
A = [1,2,3,4,5,6,7,8,9,10];
AA = A';
B = [10,20,30,40,50,60,70,80,90];
BB = B';
C = [10,20,30,40,50,60,70,80,90,100,110];
CC = C';
I want to put them all in one big array next to each other, so they appear like this
All =
1 10 10
2 20 20
3 30 30
4 40 40
5 50 50
6 60 60
7 70 70
8 80 80
9 90 90
10 100
110
Because of size difference I couldn't use this
All(:,1) = AA;
All(:,2) = BB;
All(:,3) = CC;
Any idea how to do solve it?
Thank you,
Meshoo

Answers (2)

Honglei Chen
Honglei Chen on 31 Jan 2017
You need to either pad them into same size or you can use cell array
AllArray = {AA, BB, CC}
HTH
  1 Comment
Meshooo
Meshooo on 2 Feb 2017
Thank you, but if you type AllArray in the command window then you will be able to get those arrays. Also you can't write it to excel file.
However, I solved it in this way:
A=[1; 2; 3; 4; 5];
B=[1; 2; 3; 4; 5; 6; 7; 8];
C=[1; 2; 3];
All = A
All(1:numel(B),2) = B
All(1:numel(C),3) = C

Sign in to comment.


Andrei Bobrov
Andrei Bobrov on 2 Feb 2017
D = {A,B,C};
s = cellfun(@numel,D);
m = max(s);
n = numel(D);
out = zeros(m,n);
for ii = 1:n
out(1:s(ii),ii) = D{ii};
end

Community Treasure Hunt

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

Start Hunting!