Info

Cette question est clôturée. Rouvrir pour modifier ou répondre.

How I accept generated [x,y] samples that fall into a probability density function or an equivalent area?

1 vue (au cours des 30 derniers jours)
I generate samples in 2-d space, i.e. x,y coordinates. I have a normal pdf and I want to keep/accept the samples that fall inside the pdf. Let as denote this area W. Is there a specific command for this? How can I implement it? I found in Matlab inpolygon command , but it works only for polygonal region and not on curves, such as pdf .
  2 commentaires
Star Strider
Star Strider le 14 Oct 2017
The normal distribution extends from -Inf to +Inf. All the real values you create are by definition ‘inside the PDF’.
DIMITRIS GEORGIADIS
DIMITRIS GEORGIADIS le 15 Oct 2017
Maybe I was not clear. Please see my comment below and the .m file.

Réponses (1)

Image Analyst
Image Analyst le 14 Oct 2017
I'm not sure you mean "fall inside the pdf" since, of course, all values generated must come from the PDF. I think you mean "fall inside the area", presumably one defined by some limits on x and y
% Get x and y somehow
if x < x1 || x > x2 || y < y1 || y > y2
% Coordinate is out of bounds. Skip this one.
continue;
end
% Else do something with it.
  2 commentaires
DIMITRIS GEORGIADIS
DIMITRIS GEORGIADIS le 15 Oct 2017
Modifié(e) : DIMITRIS GEORGIADIS le 15 Oct 2017
My fault. Maybe I was not clear. I need a simple rejection sampling algorithm, such as the following:
1. K=200 %number of simulations
2. k=1 % first iteration
3. Generate a sample x (for k=1) from f(x) % prior pdf
4. Generate a sample p from the standard uniform distribution in [0,1].
5. if [x,p] ε (i.e. belong) W-space
a. Accept x
b. k=k+1
6. Stop if k=K, else go to 3.
Here is my .m file for the above. My question is HOW I express the if condition? The accepted samples must fall inside W-space (the shaded area).

Cette question est clôturée.

Community Treasure Hunt

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

Start Hunting!

Translated by