Select Structure Field Based on Variable

Let's say I have a structure with multiple fields structured like this:
Structure.A = 5;
Structure.B = 10;
Structure.C = 30;
If I have a variable:
Field = "B"
Can I select the field B in the structure and set it equal to a new value? When I run this code, it creates a new field called "Field" instead of selecting the existing one from the value of Field.
Structure.Field = 15;

 Accepted Answer

There is special notation to access structure or class field using parenthesis () of input string
Structure.A = 5;
Structure.B = 10;
Structure.C = 30;
Field = "B"
Field = "B"
Structure.(Field) = 15 % this updates required field without adding extra field
Structure = struct with fields:
A: 5 B: 15 C: 30

More Answers (0)

Categories

Find more on MATLAB in Help Center and File Exchange

Products

Release

R2022a

Tags

Community Treasure Hunt

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

Start Hunting!