- #1

schniefen

- 178

- 4

We generate two random numbers ##x## and ##y##. We scale ##x## so that it

gives a random point in the restricted range we want to generate random numbers in. Now we scale

##y## so it matches the range from 0 to the maximum value of the function ##f(x)## we want to generate.

Now we accept ##x## if ##y < f(x)## and reject ##x## otherwise.

gives a random point in the restricted range we want to generate random numbers in. Now we scale

##y## so it matches the range from 0 to the maximum value of the function ##f(x)## we want to generate.

Now we accept ##x## if ##y < f(x)## and reject ##x## otherwise.

Implementation example:

C++:

```
#include <math.h>
int main(){
double x = (double)rand();
double y = (double)rand();
double xs = fmod(x,pi);
double ys = fmod(y,1);
if (ys < sin(xs)) return sin(xs);
}
```