How do I sample a random value from a normal distribution
Mostrar comentarios más antiguos
I want to sample a value from a normal distribution and I wrote down this codes. Can someone please look at it and hint me if it is appropriate. I am Matlab basic user.
r=rand;
ci_l=find(cumu<=r,1,'last');
ci_h=find(cumu>=r,1,'first');
if abs(cumu(ci_l)-r)<=abs(cumu(ci_h)-r)
ci=ci_l;
else
ci=ci_h;
end
cmuO=getCDF(pdfY);
cmuO=cmuO/max(cmuO);
[~,idx]=min(abs(cmuO-cumu(ci)));
newVal=pdfX(idx);
7 comentarios
Walter Roberson
el 17 de Abr. de 2019
??
normrnd() perhaps ?
Gumps
el 17 de Abr. de 2019
Walter Roberson
el 17 de Abr. de 2019
I do not understand the point of any of that.
Is cumu a previously initialized vector of randn() values? Sorted output of randn() in particular?
I do not understand what you think you are calculating.
Gumps
el 17 de Abr. de 2019
Walter Roberson
el 17 de Abr. de 2019
Is Cumu a distribution created with makedist() https://www.mathworks.com/help/stats/makedist.html or is it a vector of values ? If it is a vector, is the vector sorted in increasing order?
Gumps
el 17 de Abr. de 2019
Walter Roberson
el 18 de Abr. de 2019
Is the "YES" intended to mean that Yes, it is a vector sorted in increasing order?
Respuestas (1)
James Tursa
el 17 de Abr. de 2019
doc randn
Categorías
Más información sobre Uniform Distribution (Continuous) 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!