Creating a struct array with a for loop

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 个评论

@Aron Brenner: why are you using cell arrays to hold scalar numeric data? Surely simple numeric arrays would be easier to work with.
They aren't numeric data. One of the arrays is populated with strings of text. I just used numeric data for the example.

请先登录,再进行评论。

回答(2 个)

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]
A = {1,3,5,7} ;
B = {2,4,6,8} ;
C = {1,2,3,4} ;
iwant = cell2mat(reshape([A B C],length(A),[])')

类别

帮助中心File Exchange 中查找有关 Cell Arrays 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by