필터 지우기
필터 지우기

Know the number of row within a structure (struct)

조회 수: 31 (최근 30일)
Alberto Acri
Alberto Acri 2022년 11월 10일
댓글: Alberto Acri 2022년 11월 10일
Hi! I have the following 'CODE' struct.
I would like to know if there is a code to determine the row number (present in 'Fields', for example 7) considering this as input:
folder = 'C:\Users\Alberto\Desktop\GLOBAL\DATA 4'
Thanks!
  댓글 수: 2
Stephen23
Stephen23 2022년 11월 10일
편집: Stephen23 2022년 11월 10일
"(present in 'Fields', for example 7)"
The heading is misleading: the column headers are the fieldnames (e.g. "name", etc), the row numbers are indices of elements of the structure array (you can see there are 12 row numbers, exactly matching the number of elements in that 12x1 structure).
Note that "DATA 4" is listed in elements 7, 8, and 9 of that structure array.
Alberto Acri
Alberto Acri 2022년 11월 10일
편집: Alberto Acri 2022년 11월 10일
@Stephen23 Yes, I know! I wanted to determine element 7 of struct CODE in correspondence of 'name' 'a'.
But the same is true for example at element 1,4,10 of struct CODE at 'name' 'a' where 'DATE 1', 'DATE 11' and 'DATE 6' are given respectively.

댓글을 달려면 로그인하십시오.

채택된 답변

Joseph Cheng
Joseph Cheng 2022년 11월 10일
so you can use the function find() and contains(). in this example i am just searching the name entry but it should work with your folder instead.
abc = 'a'-1;
for ind = 1:10
CODE(ind).name = char(abc+ind);
end
foundRow = find(contains({CODE.name},'d'))
foundRow = 4
Where by doing {CODE.name} here it'll make each entry into a cell then find which one contains your desired text.
  댓글 수: 4
Stephen23
Stephen23 2022년 11월 10일
편집: Stephen23 2022년 11월 10일
@Alberto Acri: note that Joseph Cheng just used the loop to create some fake data to demonstrate how the code works. Of course you will not use the loop and you will use your own data. Try this to match the names:
foundRows = find(matches({CODE.name},'d'))
or if you want to match the folders (as your question specifies):
folder = 'C:\Users\Alberto\Desktop\GLOBAL\DATA 4'
foundRows = find(matches({CODE.folder},folder))
Alberto Acri
Alberto Acri 2022년 11월 10일
perfect @Stephen23!

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

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

제품


릴리스

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by