Using structures with Functions
14 views (last 30 days)
Show older comments
I have a structure that I am using to simplify the workspace.
I have a structure called Condition defined so that I have multiple variables and each variable has an array for multiple conditions
Condition.Title(1) = {'test 1'};
Condition.Variable_a(1) = 1000
Condition.Variable_b(1) = 10
Condition.Title(2) = {'test 2'};
Condition.Variable_a(2) = 2000
Condition.Variable_b(2) = 20
such that
Condition =
Title: {'test 1' 'test 2'}
Variable_a: [1000 2000
Variable_b: [10 20]
I want to feed all the variables of a single condition into a function so I tried using this
Condition(1)
I hoped this would give me Title(1), Variable_a(1), and Variable_b(1) but it just gives me the entire stucture as if I had no index.
There are a number of variables so I don't want to enter each variable individually if I can avoid it
Is there a way to call all of the variables into a function with only a single column from the arrays?
0 Comments
Accepted Answer
Stephen23
on 1 Aug 2022
Edited: Stephen23
on 1 Aug 2022
Rather than defining a scalar structure containing arrays, it looks like you should be using a non-scalar structure:
For example:
Condition(1).Title = 'test 1';
Condition(1).Variable_a = 1000;
Condition(1).Variable_b = 10;
Condition(2).Title = 'test 2';
Condition(2).Variable_a = 2000;
Condition(2).Variable_b = 20;
Condition(1)
Condition(2)
Note that you can use comma-separated lists to obtain and assign data to the structure:
More Answers (1)
Matt J
on 1 Aug 2022
Edited: Matt J
on 1 Aug 2022
@Stephen23's answer might be what you are looking for, but if you need the struct in scalar form for some reason, then the attached utility will split the fields for one-time purposes.
Condition.Title(1) = {'test 1'};
Condition.Variable_a(1) = 1000;
Condition.Variable_b(1) = 10;
Condition.Title(2) = {'test 2'};
Condition.Variable_a(2) = 2000;
Condition.Variable_b(2) = 20;
ConditionArray=arrayify_struct(Condition);
ConditionArray(1)
ConditionArray(2)
0 Comments
See Also
Categories
Find more on Data Types 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!