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

Antworten (1)

Guillaume
Guillaume am 13 Dez. 2018

0 Stimmen

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.

Kategorien

Mehr zu Debugging and Improving Code finden Sie in Hilfe-Center und File Exchange

Produkte

Gefragt:

am 13 Dez. 2018

Beantwortet:

am 13 Dez. 2018

Community Treasure Hunt

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

Start Hunting!

Translated by