MATLAB Answers

Hamza

How to filter out values which are greater than a defined threshold?

Asked by Hamza
on 6 Jan 2013

Dear all

I would like to ask how I can filter out the values in a given dataset. For eg: I have the following data:

max= 0.0390719994902611
0.0769229978322983
0.0561660006642342
0.0695969983935356
0.0720390006899834
0.0463979989290237
0.0317460000514984
0.0293039996176958
0.0317460000514984
0.0280830003321171
0.0378509983420372

I want to see how many values have exceed the threshold of 0.05 in this. Thanks for the help.

  0 Comments

Products

No products are associated with this question.

2 Answers

Answer by Azzi Abdelmalek
on 6 Jan 2013
Edited by Azzi Abdelmalek
on 6 Jan 2013
 Accepted answer
max_value= [0.0390719994902611
0.0769229978322983
0.0561660006642342
0.0695969983935356
0.0720390006899834
0.0463979989290237
0.0317460000514984
0.0293039996176958
0.0317460000514984
0.0280830003321171
0.0378509983420372]
 idx=find(max_value>=0.05)

%don't max as a variable(reserved to max function)

  3 Comments

Hamza
on 6 Jan 2013

Thanks, but "find" only gives the indices and I want to have the values >0.05

Azzi Abdelmalek
on 6 Jan 2013
idx=find(max_value>=0.05)
value=max_value(idx)
Jan Simon
on 6 Jan 2013

As MLint mentions in the editor, when you type this in a function, the find() is slower than a logical indexing in almost all cases:

value = max_value(max_value >= 0.05);

Answer by Image Analyst
on 6 Jan 2013
Edited by Image Analyst
on 6 Jan 2013

To see "how many values have exceed the threshold of 0.05" you can use this code:

howManyValues = sum(max_value>0.05);

  0 Comments


Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply today