How to find the name of the first filed of a struct?
60 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
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 Commenti
Risposta accettata
dpb
il 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 Commenti
Walter Roberson
il 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
il 9 Feb 2020
Modificato: dpb
il 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. :)
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Structures in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!