Concatenate arrays in loop

1 次查看(过去 30 天)
Hi!
I have arrays of different length (length is different within each loop)
and I want to add the number of loop as the third dimension of each array. I used B(:,:,i)= B
What I get is B(:,:,1) = B @last loop (where i=4)
B(:,:,2) = 0 @second loop (where i=2)
B(:,:,3) = 0 @third loop (where i=3)
B(:,:,4) = B @last loop (where i=4)
What I want is B(:,:,1) = B @first loop (where i=1)
B(:,:,2) = B @second loop (where i=2)
until end of loop
I would highly appreciate if someone has a straighforward answer and can help, please!
for i = 1:4
%table of data different length*20 column
dim = data(data.TC_Counter3 == i,:);
%B is array of different lenghth*20
B = table2array(dim);
B(:,:,i)= B;
end

采纳的回答

madhan ravi
madhan ravi 2020-7-8
Save it as a cell instead of a 3D matrix since you say they are of different lengths.
  3 个评论
madhan ravi
madhan ravi 2020-7-8
B = cell(5, 1);
for ii = 1:5
dim = data(data.TC_Counter3 == ii, :);
B{ii} = table2array(dim);
end
celldisp(B)

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Loops and Conditional Statements 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by