필터 지우기
필터 지우기

Looping over table variable to access structure

조회 수: 3 (최근 30일)
roblocks
roblocks 2016년 5월 19일
댓글: roblocks 2016년 5월 19일
Dear All,
Suppose you have a table and structure of the following format
A code size
obs1 an 10
obs2 bg 8
obs3 cf 5
and a structure:
structurename.an
sturcturename.ag
sturcturename.cf
containing some stuff. Assume code is unique and any codes in the table are also part of the structure. I would now like to access the first n structure variables by size defined in table. So for example the first largest to I want matlab to take "an" and "ag" and then compute something with it. What is the best way to loop through tables?
Thanks in advance!
Best

채택된 답변

Guillaume
Guillaume 2016년 5월 19일
1. Sort your table by decreasing size:
tsorted = sortrows(t, 'size', 'descend');
2. Simply iterate over the rows and use dynamic field names to access your structure:
for row = 1:n
val = structurename.(sortedt{row, 'size'});
%do something with val
end

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Structures에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by