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

조회 수: 13 (최근 30일)
chocho
chocho 2017년 5월 7일
댓글: chocho 2017년 5월 7일
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 !

답변 (1개)

Image Analyst
Image Analyst 2017년 5월 7일
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
Image Analyst
Image Analyst 2017년 5월 7일
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 2017년 5월 7일
@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.

댓글을 달려면 로그인하십시오.

태그

Community Treasure Hunt

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

Start Hunting!