Using structures with Functions
조회 수: 5 (최근 30일)
이전 댓글 표시
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
채택된 답변
Stephen23
2022년 8월 1일
편집: Stephen23
2022년 8월 1일
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:
추가 답변 (1개)
Matt J
2022년 8월 1일
편집: Matt J
2022년 8월 1일
@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
참고 항목
카테고리
Help Center 및 File Exchange에서 Structures에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!