MATLAB Answers

Generating a distribution around a parameter using monte carlo simulation.

53 views (last 30 days)
Gumps
Gumps on 25 Oct 2018
Commented: Gumps on 31 Oct 2018
Hello, I wish for someone to help me explain (with a code example) how i can generate a distribution around a value (say 0.007695) using Monte Carlo simulation. I understand that I might first need to generate set of random variables using 0.007695 as control.
I will be grateful to get a response. Am just a basic user of matlab

  0 Comments

Sign in to comment.

Accepted Answer

Jeff Miller
Jeff Miller on 27 Oct 2018
The Gaussian distribution has two parameters, mean and standard deviation. Once you decide on values for those, it is easy to generate a sample of random numbers. For example:
mu = 0.0076; % the mean you asked for
sigma = 0.0003; % adjust to make the distribution as wide as you want.
samplesize = 1000;
randvals = randn(samplesize,1)*sigma + mu;
histogram(randvals);

  6 Comments

Show 3 older comments
Jeff Miller
Jeff Miller on 31 Oct 2018
Look at the documentation for histcounts. I think you can get those numbers from something like
edges = 0:0.01:1;
[~,~,bins] = histcounts(rands,edges);

Sign in to comment.

More Answers (1)

possibility
possibility on 26 Oct 2018
Generally, the way it works is you already possess the data samples (say millions of them) and find the histogram of the data (frequency of the values that appears in the data). After that, you pick the optimum distribution model (Gaussian, Laplacian, chi-square, etc.) that fits best to your samples.
But, if you're trying to ask "how to generate samples from a distribution with a given statistical parameter (for ex: mean)", that would have meaningful answers.
One example,
randn
command generates samples from a gaussian distribution. Or
rand
generates samples from a uniform distribution. Just type
help rand
for details.
Hope that helps.

  1 Comment

Gumps
Gumps on 26 Oct 2018
Hello Yavuz, thank you for quick response. Actually, I just have a simple value of say 0.0076 and I want to generate random samples around it and after which I can now define these samples with a gaussian distribution taking my known value as the mean... I would really appreciate if you can be of great help. Thank you

Sign in to comment.

Sign in to answer this question.