Problem with generating random numbers when performing a Monte carlo simulation in Matlab ?

Hi there,
I am performing a Monte carlo simulation and this is the code for it.
clc; clear all;
num_simulations = 1000 ;
P_init = repmat(5,10,1)
numAC = length(P_init) ;
sumReduction = zeros(num_simulations,1);
for i = 1 : num_simulations
DRM_levels = [0.25, 0.5, 0.75, 1.0]';
DRM_prob = [.25, .25, .25, .25];
s = RandStream('mlfg6331_64');
ReductionLevelsVector = randsample(s, DRM_levels , numAC, true, DRM_prob);
ActualReduction = P_init .* ReductionLevelsVector ;
sumReduction(i) = sum(ActualReduction) ;
end
However after performing num_simulations iterations I find that I am ended up getting the same result for sumReduction in each iteration. Is there something wrong with the Random number generator I am using, so it continues to generate the same random number at each iteration.
Can anyone please help me with this ?
Thanks.

댓글 수: 3

do not keep calling randstream. call it once before the loop
Thanks a lot Walter, now it works fne.
Cheers.
When I run your code after writing randstrem before loop. But when I made plot of xcorr(sumReduction), It's almost trinangle. It means there is no chnge in correltion. Please help If I'm wrong.

댓글을 달려면 로그인하십시오.

답변 (0개)

카테고리

도움말 센터File Exchange에서 Historical Contests에 대해 자세히 알아보기

제품

릴리스

R2019a

질문:

2020년 5월 17일

댓글:

2021년 4월 1일

Community Treasure Hunt

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

Start Hunting!

Translated by