How to set a threshold based on the values of an array vector ?

18 views (last 30 days)
hi experts, I want to set a threshold based on the percentage of values in an array vector(320*1), Thus the value with the highest percentage will be my threshold for future use.
I want to plot the histogram of this array while the Y-axis have the percentage of each value occured in the array vector.
Any help or an ideat about how to set a threshold, i really appreciate it !

Answers (1)

Image Analyst
Image Analyst on 7 May 2017
Use the > operator:
aboveThresholdIndexes = yourSignal > someThresholdValue; % A logical vector.
% If you want to extract those points:
aboveThreshold = yourSignal(aboveThresholdIndexes);
I leave it up to you to computer someThresholdValue because we don't know exactly what "threshold based on the percentage of values in an array" means. Do you mean like a percentage of 320 (the number of values in the array), or do you somehow want to take into account the values of those elements, in which case cumsum() might help?
  4 Comments
Image Analyst
Image Analyst on 7 May 2017
That's because you never defined someThresholdValue. If you need to determine it by looking at the histogram, then call the histogram function:
histogram(yourSignal);
Obviously, just like someThresholdValue, you need to replace yourSignal with the actual name of your variable, and of course you need to have defined it already.
chocho
chocho on 7 May 2017
@Image Analyst Friend my goal is to define the threshold, how to define it and still don't know what's it. did you get it ?
Even histogram(yourSignal); is not working because of my array vector is of type double.

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!