How to find the name of the first filed of a struct?
45 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Zeynab Mousavikhamene
am 9 Feb. 2020
Bearbeitet: dpb
am 9 Feb. 2020
I have a structre which has some fields. How can I find the field name of the first field?
Here is the struct I have:
struct with fields:
unpatterned_H_65_full: [17×34 table]
unpatterned_H_100_full: [17×34 table]
unpatterned_H_100_ribboned: [17×34 table]
unpatterned_H_100_ribboned_sectioned: [17×34 table]
unpatterned_H_65_sectioned: [17×34 table]
unpatterned_He_100_sectioned: [17×34 table]
I need to write a code that returns say " unpatterned_H_65_full".
0 Kommentare
Akzeptierte Antwort
dpb
am 9 Feb. 2020
If the struct variable is s, then
name=fieldnames(s);
name=name(1);
No way to write the second-level addressing w/o the intermediary/temporary variable comes to me for a one-liner.
4 Kommentare
Walter Roberson
am 9 Feb. 2020
Having names around permits you to examine additional fields less expensively.
In any case fieldnames returns a cell array of character vectors and indexing it with (1) would return a scalar cell instead of the character vector
dpb
am 9 Feb. 2020
Bearbeitet: dpb
am 9 Feb. 2020
- Yes, if there were to be a need for other fields besides the stated need for only the first
- Yes, but cellstr is oftentimes more convenient than char string--but, sometimes it isn't...OP didn't give any context to know how the result was/is to be used. :)
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Structures finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!