필터 지우기
필터 지우기

Help iteration for loop and tables vertcat

조회 수: 6 (최근 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 CenterFile Exchange에서 Matrices and Arrays에 대해 자세히 알아보기

제품


릴리스

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by