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

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)

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

Hi Friend, I tried your code and doesn't work.
Undefined function or variable 'someThresholdValue'.
Error in threshold (line 10) aboveThresholdIndexes = Support_gene > someThresholdValue; % A logical vector.
@Image Analyst Friend, I already share the array vector and you can have a look on it.
There are 320 elements but most of them are repeated, and so,
I want to see the distributions of these elements and based on their output curve I can pick the cutoff or the threshold, but if you have another idea plz share it with me.
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.
@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.

Categories

Find more on 图和网络算法 in Help Center and File Exchange

Tags

Asked:

on 7 May 2017

Commented:

on 7 May 2017

Community Treasure Hunt

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

Start Hunting!