

X = -4:0.1:4 %range of x to compute the theoretical pdfįx_theory = pdf('Normal',X,mu,sigma) %theoretical normal probability density histogram(R,'Normalization','pdf') %plot estimated pdf from the generated data Do not use the ‘probability’ option for ‘Normalization’ option, as it will not match the theoretical PDF curve. When using the histogram function to plot the estimated PDF from the generated random data, use ‘pdf’ option for ‘Normalization’ option. And for verification, overlay the theoretical PDF for the intended distribution. The histogram function is the recommended function to use.Įstimate and plot the normalized histogram using the recommended ‘histogram’ function. Which one to use ? Matlab’s help page points that the histfunction is not recommended for several reasons and the issue of inconsistency is one among them. Matlab supports two in-built functions to compute and plot histograms: Typically, if we have a vector of random numbers that is drawn from a distribution, we can estimate the PDF using the histogram tool. R = Z*sigma+mu %Normal distribution with mean and sigma Step 2: Plot the estimated histogram Z = sqrt(-2log(U1)).cos(2piU2) %Standard Normal distribution U2 = rand(L,1) %uniformly distributed random numbers U(0,1) U1 = rand(L,1) %uniformly distributed random numbers U(0,1) Method 3: Box-Muller transformation method using rand function that generates uniformly distributed random numbers mu=0 sigma=1 %mean=0,deviation=1.Method 2: Using randn function that generates normally distributed random numbers having and = 1 mu=0 sigma=1 %mean=0,deviation=1.

R = random('Normal',mu,sigma,L,1) %method 1

For this demonstration, we will consider the normal random variable with the following parameters : – mean and – standard deviation. Note: If you are inclined towards programming in Python, visit this article Step 1: Create the random variableĪ survey of commonly used fundamental methods to generate a given random variable is given in. Other types of random variables like uniform, Bernoulli, binomial, Chi-squared, Nakagami-m are illustrated in the next section. Normal random variable is considered here for illustration. Let’s see how we can generate a simple random variable, estimate and plot the probability density function (PDF) from the generated data and then match it with the intended theoretical PDF. Generation of random variables with required probability distribution characteristic is of paramount importance in simulating a communication system. Key focus: With examples, let’s estimate and plot the probability density function of a random variable using Matlab histogram function.
