Select specific data with conditions from struct ?

23 views (last 30 days)
Hi, I have the following structure: data
I need to select those where data.name = t1 and data.value is between 0.5 and 0.8
Glad for any help
data(1:6) = struct('name', '', 'value', zeros(1,1));
data(1).name= 't1'; data(1).value=0.569;
data(2).name= 't2'; data(2).value=0.657;
data(3).name= 't1'; data(3).value=0.98;
data(4).name= 't6'; data(4).value=0.451;
data(5).name= 't2'; data(5).value=0.354;
data(6).name= 't1'; data(6).value=0.746;

Accepted Answer

Stephen23
Stephen23 on 19 Jan 2018
Edited: Stephen23 on 19 Jan 2018
vec = [data.value];
idx = strcmp('t1',{data.name}) & vec>0.5 & vec<0.8;
out = data(idx);
giving:
>> out.name
ans = t1
ans = t1
>> out.value
ans = 0.56900
ans = 0.74600

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!