How to Index Substructure

I am trying to index a field in a substructure of a structure. The main structure is supermarket
the next structure is produceList
the field i wish to call from produceList is minNumber
I tried supermarket.produceList{i}.minNumber
I need the {i} to allow the for loop to work
for i = 1:length(supermarket.produceList)
It gives me the error Dot indexing is not supported for this type of variable.
I know i can index with specific elements in the structure such as supermarket.Apples.minNumber. However, this prevents me from testing it for each element of substructure produceList

Risposte (1)

Guillaume
Guillaume il 13 Dic 2018
I'd recommend you use numel instead of length, it's safer.
Structure indexing uses () not {} (that's to acces cell arrays and tables content), so:
supermarket.produceList(i).minNumber
Your blurb about supermarket.Apples is confusing. Is the substructure a structure array named produceList or a bunch of scalar structures with different names? The latter would require a completely different approach.

Categorie

Scopri di più su Debugging and Improving Code in Centro assistenza e File Exchange

Prodotti

Richiesto:

il 13 Dic 2018

Risposto:

il 13 Dic 2018

Community Treasure Hunt

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

Start Hunting!

Translated by