How can i return a value based on mutliple fields?
1 view (last 30 days)
Show older comments
Emma Kuttler
on 10 Nov 2019
Commented: Emma Kuttler
on 11 Nov 2019
I have a structure named N2, with three fields - Components, PowerConsequences, and ICTConsequences.
>>N2 =
struct with fields:
Components: [43660×2 double]
PowerConsequences: [43660×1 double]
ICTConsequences: [43660×1 double]
>> fieldnames(N2)
ans =
3×1 cell array
{'Components' }
{'PowerConsequences'}
{'ICTConsequences' }
The components field is a vector with two columns, so N2.Components returns a list like this. It describes the combination of 2 components in a system, and the other fields describe effects.
290 296
291 292
291 293
291 294
291 295
291 296
292 293
And so on. How do i return a value in the field PowerConsequences or ICTConsequences based on two specific values in the field Components - ie for the values (290,296) in the Components field, how do i return the value in the PowerConsequences Field?
0 Comments
Accepted Answer
Shubham Gupta
on 11 Nov 2019
Edited: Shubham Gupta
on 11 Nov 2019
Try:
id = find(N2.Components(:,1) == 290 & N2.Components(:,2) == 296);
PowerConsequences_out = N2.PowerConsequences(id);
ICTConsequences_out = N2.ICTConsequences(id);
I hope it helps.
More Answers (0)
Communities
More Answers in the Power Electronics Control
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!