Help iteration for loop and tables vertcat

10 ビュー (過去 30 日間)
Nina Perf
Nina Perf 2022 年 5 月 27 日
編集済み: Nina Perf 2022 年 5 月 28 日
Hi,
  • I have a varible C which is a 45x2 double with the possible combinations of numbers, #, from 1 to 10 (meaning 10 birds).
  • Per bird I have a table named tablevars#, where # are numbers from 1 to 10.
  • I want to have inside the for cycle the total table that will change per combination (matches each row of C per iteration i).
tablevars1
tablevars2
...
w = [1:10];
p = 2;
C = nchoosek(w,p);
u = length(C);
for i = 1:u
total = vertcat(?);
...
end
Thank you!

採用された回答

Stephen23
Stephen23 2022 年 5 月 27 日
編集済み: Stephen23 2022 年 5 月 27 日
Using one cell array will be much simpler (and more efficient) than your approach of numbering the variable names:
w = 1:10; % removed superfluous square brackets
p = 2;
C = nchoosek(w,p)
C = 45×2
1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 1 10 2 3
tbl = { table(..), table(..), table(..) .. }; % cell is better than numbered variable names.
for k = 1:size(C,1)
idx = C(k,:);
out = vertcat(T{idx})
..
end

その他の回答 (1 件)

Walter Roberson
Walter Roberson 2022 年 5 月 27 日
Don't do this. put the tables in a cell array and use cell indexing instead of dynamic variable names.

カテゴリ

Help Center および File ExchangeMatrices and Arrays についてさらに検索

製品


リリース

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by