I have a structured array called 'Data' which is a 1x1 struct, within this structured array are Data.note1, Data.note2, Data.note3, Data.note4. How is it possible to find the number of fields in the structured array? Where if it was a cell you would use length(cell)! Doing this for the structured array returns 1 where it should be 4.

댓글 수: 1

Stephen23
Stephen23 2022년 12월 13일
편집: Stephen23 2022년 12월 13일
"Doing this for the structured array returns 1 where it should be 4."
No, it should return 1 because you have a scalar structure, you even wrote this yourself: "I have a structured array called 'Data' which is a 1x1 struct". A 1x1 array is scalar, i.e. has only one element, regardless of its class:
In contrast a structure array with four elements has ... four elements:
S = struct('X',{1,2,3,4}) % 1x4, not 1x1
S = 1×4 struct array with fields:
X
length(S)
ans = 4
The size of a structure array is completely independent of how many fields it has.

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

 채택된 답변

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Structures에 대해 자세히 알아보기

태그

질문:

2012년 1월 9일

편집:

2022년 12월 13일

Community Treasure Hunt

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

Start Hunting!

Translated by