dynamic naming of structures

5 Ansichten (letzte 30 Tage)
DrK
DrK am 16 Mai 2022
Kommentiert: DrK am 17 Mai 2022
If I have a variable x='name', how can I use x to build a structure with name 'name' that looks like:
name.a
name.b
No need to tell me about the hazards of dynamic variable naming.
Thanks.

Akzeptierte Antwort

DrK
DrK am 17 Mai 2022
Actually, found my own answer:
x = 'name';
eval(sprintf('%s = struct;',x));
This creates a structure named 'name' and one can use the same eval format to add fields to it later.
  7 Kommentare
DrK
DrK am 17 Mai 2022
Thanks for the light reading. I think I am going to take this in the direction of indexing instead.
Thanks again for your help.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (2)

James Tursa
James Tursa am 16 Mai 2022
Would it be acceptable to use x as a dynamic fieldname instead of the top level variable name? E.g.,
v.(x).a
v.(x).b

DrK
DrK am 17 Mai 2022
Not really. I know about the paranthesis around field names, but it creates another level of structure. The problem is that if I am creating the structure names inside my program, I don't know how to create the structures using those names.
Thanks for your response.

Kategorien

Mehr zu Structures finden Sie in Help Center und File Exchange

Produkte


Version

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by