### Navigation

- index
- modules |
- modules |
- next |
- previous |
- homepage|
- search|
- documentation »
- toolbox - Toolbox of various functions and generic utilities »

# spacepy.toolbox.dist_to_list

`spacepy.toolbox.``dist_to_list`(func, length, min=None, max=None)

  Convert a probability distribution function to a list of values

  This is a deterministic way to produce a known-length list of values matching a certain probability distribution. It is likely to be a closer match to the distribution function than a random sampling from the distribution.

  Parameters: | func : callable function to call for each possible value, returning probability density at that value (does not need to be normalized.) length : int number of elements to return min : float minimum value to possibly include max : float maximum value to possibly include

  Examples

      >>> import matplotlib
      >>> import numpy
      >>> import spacepy.toolbox as tb
      >>> gauss = lambda x: math.exp(-(x ** 2) / (2 * 5 ** 2)) / (5 * math.sqrt(2 * math.pi))
      >>> vals = tb.dist_to_list(gauss, 1000, -numpy.inf, numpy.inf)
      >>> print vals[0]
      -16.45263...
      >>> p1 = matplotlib.pyplot.hist(vals, bins=[i - 10 for i in range(21)], facecolor='green')
      >>> matplotlib.pyplot.hold(True)
      >>> x = [i / 100.0 - 10.0 for i in range(2001)]
      >>> p2 = matplotlib.pyplot.plot(x, [gauss(i) * 1000 for i in x], 'red')
      >>> matplotlib.pyplot.draw()

### Navigation

- index
- modules |
- modules |
- next |
- previous |
- homepage|
- search|
- documentation »
- toolbox - Toolbox of various functions and generic utilities »