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 日

0 投票

Save it as a cell instead of a 3D matrix since you say they are of different lengths.

3 件のコメント

Mahla Bakhshi
Mahla Bakhshi 2020 年 7 月 8 日
Thanks for the answer! I tried that, but still I get the same output.
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)
Mahla Bakhshi
Mahla Bakhshi 2020 年 7 月 9 日
Thanks!

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeLoops and Conditional Statements についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by