how can I find the probabilities of the ecdf function of each duplicate values in y ?
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
talal alqahtani
le 27 Jan 2020
Commenté : the cyclist
le 28 Jan 2020
I have a vector that has dublicate values (y). I need to extract each value probabitiy even if its duplicate. here is my code.
num_off_time=[2 2 3 3 1];
y=num_off_time;
[f,x]=ecdf(y);
cdfplot(y)
0 commentaires
Réponse acceptée
the cyclist
le 27 Jan 2020
Do you mean you are trying to get these values?
histcounts(num_off_time,'Normalization','probability')
ans =
0.2000 0.4000 0.4000
4 commentaires
the cyclist
le 28 Jan 2020
It's not clear to me where you are getting your values of [0.3 0.5 0.1], because those don't seem to be probabilities related to your input vector.
So, here's what it seems like you want to do:
- Find the total probability of each channel.
- For each channel, output its probability, indexed according to the original input vector.
This code does that. I added an extra "3" to your input, to show that 2 and 3 give different output.
num_off_time=[2 2 3 3 3 1];
[unique_num_off_time,~,idxFromUniqueBackToAll] = unique(num_off_time);
probability_of_unique = histcounts(num_off_time,[unique_num_off_time Inf],'Normalization','probability');
probability_by_channel = probability_of_unique(idxFromUniqueBackToAll);
This gives
probability_by_channel =
0.3333 0.3333 0.5000 0.5000 0.5000 0.1667
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur 2-D and 3-D Plots dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!