oo = 1;

while(oo){

thisdec = drand48()*mask; // Choose a declination inside the mask

theta = drand48(); //Choose a random value for sin(thisdec)

/*If theta is "below the sin(thisdec) curve",

keep thisdec, otherwise repeat above process. */

if(theta < sin(thisdec){

Rb[nn].pos[i] = thisdec;

oo = 0;

}

}

This uses a rejection sampling method to populate the declinations. It seem to work, here are plots of the random distributions compared with the data, you can see that the distributions match:

## No comments:

## Post a Comment