NV5 GEOSPATIAL SOFTWARE
>  Docs Center  >  Libraries  >  Buie  >  SMPLPRB

SMPLPRB

smplprb

## Purpose (one Line Only)

Sample a probability function to facilitate drawing random numbers from it.

## Description

This program is intended to take a probability function, and return
an array that if plotted as a histogram will look like the probability
function. The array that is produced is meant to be used to draw
random numbers that will be characterized by the probility function.

Mathematical

## Calling Sequence

xval=SMPLPRB(func,x1,x2,n)

## Inputs

func -String. Function name. ex: 'sqrt' or 'alog'
Any positive definite function can be used and must take
one and only one argument.
x1 - Min of x range.
x2 - Max of x range.

## Optional Input Parameters

n - Size of output array. Determines sampling size.
DEFAULT=10000. As this number is increased the resolution of
the sampled probability function is improved. Successful usage
of this routine will depend on tuning this value.

## Keyword Input Parameters

PLOT - Flag, if set will cause a plots to be generated to show
a histogram derived from xval with the function overplotted.
DEBUG - Flag, if set will print some internal debugging information.
RANDOMIZE - Flag, if set will force the returned array to be in random
order. The default is to turn them in an order sorted by
increasing function value.

## Outputs

returns an array of n x-values between x1 and x2. Each discrete value of
X appears in the output array as many times as is needed to represent
the probability of that value. This is a relative number since
increasing N will increase the number of times that every value of X
will appear.

## Restrictions

Can only take probability functions, i.e. the function cannot be
less than zero.

## Modification History

2004/07/13, Written by Maureen Teyssier, REU Lowell Observatory
2004/07/15, MWB, incorporated into library.
2013/08/14, MWB, slight algorithmic improvements, on average the results
are nearly the same but the sampling is slightly more
robust and cleaner now. Also added the DEBUG and
RANDOMIZE keyword.
2016/08/18, MWB, changed plots to black on white and fixed a minor
edge effect that would cause the routine to crash.

© 2024 NV5 Geospatial Solutions, Inc. |  Legal