Go to the first, previous, next, last section, table of contents.
As in the onedimensional case, a twodimensional histogram made by
counting events can be regarded as a measurement of a probability
distribution. Allowing for statistical error, the height of each bin
represents the probability of an event where (@math{x},@math{y}) falls in
the range of that bin. For a twodimensional histogram the probability
distribution takes the form @math{p(x,y) dx dy} where,
In this equation
@math{n_{ij}} is the number of events in the bin which
contains @math{(x,y)},
@math{A_{ij}} is the area of the bin and @math{N} is
the total number of events. The distribution of events within each bin
is assumed to be uniform.
 Data Type: gsl_histogram2d_pdf

size_t nx, ny

This is the number of histogram bins used to approximate the probability
distribution function in the x and y directions.
double * xrange

The ranges of the bins in the xdirection are stored in an array of
nx + 1 elements pointed to by xrange.
double * yrange

The ranges of the bins in the ydirection are stored in an array of
ny + 1 pointed to by yrange.
double * sum

The cumulative probability for the bins is stored in an array of
nx*ny elements pointed to by sum.
The following functions allow you to create a gsl_histogram2d_pdf
struct which represents a two dimensional probability distribution and
generate random samples from it.
 Function: gsl_histogram2d_pdf * gsl_histogram2d_pdf_alloc (size_t nx, size_t ny)

This function allocates memory for a twodimensional probability
distribution of size nxbyny and returns a pointer to a
newly initialized
gsl_histogram2d_pdf
struct. If insufficient
memory is available a null pointer is returned and the error handler is
invoked with an error code of GSL_ENOMEM
.
 Function: int gsl_histogram2d_pdf_init (gsl_histogram2d_pdf * p, const gsl_histogram2d * h)

This function initializes the twodimensional probability distribution
calculated p from the histogram h. If any of the bins of
h are negative then the error handler is invoked with an error
code of
GSL_EDOM
because a probability distribution cannot
contain negative values.
 Function: void gsl_histogram2d_pdf_free (gsl_histogram2d_pdf * p)

This function frees the twodimensional probability distribution
function p and all of the memory associated with it.
 Function: int gsl_histogram2d_pdf_sample (const gsl_histogram2d_pdf * p, double r1, double r2, double * x, double * y)

This function uses two uniform random numbers between zero and one,
r1 and r2, to compute a single random sample from the
twodimensional probability distribution p.
Go to the first, previous, next, last section, table of contents.