MATLAB Answers

How do I sample a random value from a normal distribution

6 views (last 30 days)
Gumps
Gumps on 17 Apr 2019
Commented: Walter Roberson on 18 Apr 2019
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 Comments

Show 4 older comments
Walter Roberson
Walter Roberson on 17 Apr 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
Gumps on 17 Apr 2019
Cumu was created somewhat with code related with makedist().
YES
Walter Roberson
Walter Roberson on 18 Apr 2019
Is the "YES" intended to mean that Yes, it is a vector sorted in increasing order?

Sign in to comment.

Answers (1)

Sign in to answer this question.