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 Kommentar

Stephen23
Stephen23 am 13 Dez. 2022
Bearbeitet: Stephen23 am 13 Dez. 2022
"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.

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

Weitere Antworten (0)

Kategorien

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by