How can I create a custom probability distribution?

I want to define a custom discrete probability mass function. Can I do this using `makedist` or perhaps some other function, if so how?

 Réponse acceptée

Paul
Paul le 18 Fév 2022

1 vote

Check out the doc page for distributionFitter and the associated Distribution Fitter app. Despite the name, the app can be used to define a custom distribution that you can subsequently use to create objects of that distribution.

Plus de réponses (1)

David Hill
David Hill le 18 Fév 2022
Modifié(e) : David Hill le 18 Fév 2022
p = [0.2 0.3 0.5];%probabilities
v = [3 7 10];%discrete values
% P(X=3)=0.2, P(X=7)=0.3 and P(X=10)=0.5 Probability Mass Function
n = 10000;%number of samples
c = cumsum([0,p(:).']);
c = c/c(end);%ensure cumulative is 1
[~,i] = histc(rand(1,n),c);
r = v(i);%map, generates n samples with the probability mass function provided

1 commentaire

L'O.G.
L'O.G. le 18 Fév 2022
Modifié(e) : L'O.G. le 18 Fév 2022
Thanks, but I don't think that's quite it. I guess I was unclear. Perhaps I should've said: I'd like to create a custom probability distribution object. I'd like to do that to be able to define a discrete pmf. That's why modifying makedist sounds like a possibility.

Connectez-vous pour commenter.

Produits

Version

R2021b

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by