Problem with generating random numbers when performing a Monte carlo simulation in Matlab ?
Mostrar comentarios más antiguos
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 comentarios
Walter Roberson
el 17 de Mayo de 2020
do not keep calling randstream. call it once before the loop
Gayan Lankeshwara
el 17 de Mayo de 2020
Pradeep Jangid
el 1 de Abr. de 2021
Hello Gayan Lankeshwara
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.
Respuestas (0)
Categorías
Más información sobre Historical Contests en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!