matlab struct initialization issue

3 views (last 30 days)
I'm trying to initialize a strut which would have fields that represent age groups like <39, 40-49, 50-59 and so on. So I tried the following
x = struct('below39',{},'AG 40 to 49',{}); but it gives me an invalied field name error. I also tried
x = struct('below39',{}); and that worked. I'm not sure why is this an issue. Any insights would eb helpful.

Accepted Answer

Ameer Hamza
Ameer Hamza on 4 Nov 2020
Edited: Ameer Hamza on 4 Nov 2020
In MATLAB, the struct fieldnames cannot have spaces. The following will work
x = struct('below39',{},'AG_40_to_49',{})
Read here about rules to for creating a fieldname: https://www.mathworks.com/help/matlab/ref/struct.html#d122e1258552
  3 Comments
per isakson
per isakson on 4 Nov 2020
See matlab.lang.makeValidName and isvarname()
Ameer Hamza
Ameer Hamza on 4 Nov 2020
@Anmol Pardeshi, yes. The link mentions the rules to define a fieldname.
@Per Isakson, Thanks for the information.

Sign in to comment.

More Answers (0)

Categories

Find more on Structures in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!