MATLAB: How to access data in structures

MATLABstructures

I'm currently learning how to use structures in MATLAB and I'm finding it a little more confusing than cells and other regular arrays. I'm confused on how to call data stored in specific fields of a structure. I understand the format is "nameofstructure"."nameoffield", but I'm struggling with how to get the data I need from the structure without knowing the name of the fields. Say I had a structure with 2 fields, how would I go about getting the infomation from either one without knowing the name of the field? I tried pulling the names of the fields in a function and using them like so
fieldnames = fieldnames(structure)
fieldInedd = fieldnames(2)
informationfromthisfield = structure.fieldIneed
But this doesn't give a field that matlab can recognize and draw data from. Could anyone help?

Best Answer

fieldnames = fieldnames(structure)
fieldInedd = fieldnames{2}
informationfromthisfield = structure.(fieldIneed)
Notice the () around the field name: it is important. This syntax is "dynamic field names".
This syntax of dot followed by a variable name or expression in () is also used for referencing table variables that are not valid MATLAB variable names.