How do I sample a random value from a normal distribution

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 Commenti

??
normrnd() perhaps ?
Hi Walter,
What I meant is sampling just one random value from a normal distribution. I have typed the codes I generated. Do you think its sufficient?
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.
Cumu is an existing distribution.
i therefore want to sample a random value from it.
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?
Cumu was created somewhat with code related with makedist().
YES
Is the "YES" intended to mean that Yes, it is a vector sorted in increasing order?

Accedi per commentare.

Richiesto:

il 17 Apr 2019

Commentato:

il 18 Apr 2019

Community Treasure Hunt

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

Start Hunting!

Translated by