Concatenate arrays in loop

7 Ansichten (letzte 30 Tage)
Mahla Bakhshi
Mahla Bakhshi am 8 Jul. 2020
Kommentiert: Mahla Bakhshi am 9 Jul. 2020
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

Akzeptierte Antwort

madhan ravi
madhan ravi am 8 Jul. 2020
Save it as a cell instead of a 3D matrix since you say they are of different lengths.
  3 Kommentare
madhan ravi
madhan ravi am 8 Jul. 2020
B = cell(5, 1);
for ii = 1:5
dim = data(data.TC_Counter3 == ii, :);
B{ii} = table2array(dim);
end
celldisp(B)
Mahla Bakhshi
Mahla Bakhshi am 9 Jul. 2020
Thanks!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by