Select specific data with conditions from struct ?

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;

 Réponse acceptée

Stephen23
Stephen23 le 19 Jan 2018
Modifié(e) : Stephen23 le 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

Plus de réponses (0)

Catégories

En savoir plus sur Construct and Work with Object Arrays dans Centre d'aide et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by