Creating a struct array with a for loop

16 views (last 30 days)
Aron Brenner
Aron Brenner on 24 Sep 2018
Commented: Aron Brenner on 24 Sep 2018
If I had three 1x10 arrays, how would I write a for loop that populates a struct array so that the three arrays become a single 3x10 array? For example, if I had three arrays that were {1,3,5,7}, {2,4,6,8}, and {1,2,3,4}, how would I write a for loop that creates a single 3x4 array that looks like {1,3,5,7;2,4,6,8;1,2,3,4}?
  2 Comments
Stephen23
Stephen23 on 24 Sep 2018
@Aron Brenner: why are you using cell arrays to hold scalar numeric data? Surely simple numeric arrays would be easier to work with.
Aron Brenner
Aron Brenner on 24 Sep 2018
They aren't numeric data. One of the arrays is populated with strings of text. I just used numeric data for the example.

Sign in to comment.

Answers (2)

Andrei Bobrov
Andrei Bobrov on 24 Sep 2018
a = {1,3,5,7};
b = {2,4,6,8};
c = {1,2,3,4};
out = cat(1,a,b,c)
or
out = [a;b;c]

KSSV
KSSV on 24 Sep 2018
A = {1,3,5,7} ;
B = {2,4,6,8} ;
C = {1,2,3,4} ;
iwant = cell2mat(reshape([A B C],length(A),[])')

Categories

Find more on Cell Arrays in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!