MATLAB: How to generate numbers from probability mass function

do simulation with probability mass functiongenerate numbers from probability mass function

Hallo,
Given a probability mass function defined as P(X=3)=0.2, P(X=7)=0.3 and P(X=10)=0.5, I want to generate randomly 30 numbers (values for X) with this probability mass function as base. But I really have no idea how and where to start.
Can somebody help me?
Thank you in advance

Best Answer

n = 30;
X = zeros(n,1);
x = rand(n,1);
X(x <= 0.5) = 10;
X(x > 0.5 & x <= 0.8) = 7;
X(x > 0.8) = 3;