Nicholas
Nicholas

Reputation: 1935

Parametric random number generation with MATLAB

I was wondering if it is possible to generate a random distribution that is a function of a certain parameter. In other words, using MATLAB I type rand(1,5) I have a uniformly random distribution of 5 numbers between 0 and 1. It is possible to have this result as a function of a certain parameter? Do you know any algorithm about that? I just need that in an interval don't need a 2D representation.

Upvotes: 1

Views: 172

Answers (1)

Prashant Kumar
Prashant Kumar

Reputation: 22629

I think you want to do this:
http://en.wikipedia.org/wiki/Inverse_transform_sampling

In MATLAB, it's quite straightforward, you simply specify the function.

n = 10000;         % number of random draws
r = rand(n, 1);    % generate uniform random numbers

f = @norminv;      % specify transforming function
tr = f(r);         % transformed numbers, now normally distributed
hist(tr, 30)       % plot histogram

This example is a bit contrived, since we could simply have used randn. But the method holds generally.
If you have the Statistics toolbox, and you want to sample from one of the popular distributions, take a look at the random number generators that are available to you, link.

Upvotes: 3

Related Questions