Effacer les filtres
Effacer les filtres

How to make exceedance curve using histc?

7 vues (au cours des 30 derniers jours)
Faith McColl
Faith McColl le 9 Juil 2015
I am making a histogram with bins of specified ranges, but I want it to be cumulative such that each bin shows the values that are in or greater than that range. I found the function cumsum which cumulatively adds the values so each column shows how many values are in or less than the specified range, but I want to do it the other way. For instance, if my values were 1:10 inclusive, cumsum gives me [1 3 6 10 15 21 28 36 45 55]. What I want is [55 54 52 49 45 40 34 27 19 10]. What function would I use for this?

Réponse acceptée

Mohammad Abouali
Mohammad Abouali le 9 Juil 2015
Modifié(e) : Mohammad Abouali le 9 Juil 2015
Just do the cumsum backwards on your histogram output
% generating some data
v=normrnd(0,1,[1,1000]);
% getting the histogram
n=hist(v,100);
% shows how many numbers are equal or less than
cV1=cumsum(n);
% Exceedance curve, shows howmany numbers are equal or greater.
cV2=fliplr(cumsum(fliplr(n)));
% Works on MATLAB R2015a
%cV2=cumsum(n,2,'reverse');
  2 commentaires
Faith McColl
Faith McColl le 9 Juil 2015
That worked! Thank you!
Mohammad Abouali
Mohammad Abouali le 9 Juil 2015
You are welcome

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by