GSL::Histogram2d class¶ ↑
Class methods¶ ↑
-
GSL::Histogram2d.alloc(nx, ny)
-
GSL::Histogram2d.alloc(xrange, yrange)
-
GSL::Histogram2d.alloc(nx, xmin, xmax, ny, ymin, ymax)
-
GSL::Histogram2d.alloc(nx, [xmin, xmax], ny, [ymin, ymax])
Constructors.
-
With sizes
>> h2 = GSL::Histogram2d.alloc(2, 3) # size 6 >> h2.xrange => GSL::Histogram::Range: [ 0.000e+00 1.000e+00 2.000e+00 ] >> h2.yrange => GSL::Histogram::Range: [ 0.000e+00 1.000e+00 2.000e+00 3.000e+00 ] >> h2.bin => GSL::Histogram::Bin: [ 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 ] >> h2.xrange.class.superclass => GSL::Vector::View::ReadOnly >> h2.bin.class.superclass => GSL::Vector::View::ReadOnly
-
With ranges
>> h2 = Histogram2d.alloc([3, 6, 7], [2, 3, 8]) >> h2.xrange => GSL::Histogram::Range: [ 3.000e+00 6.000e+00 7.000e+00 ] >> h2.yrange => GSL::Histogram::Range: [ 2.000e+00 3.000e+00 8.000e+00 ] >> h2.bin => GSL::Histogram::Bin: [ 0.000e+00 0.000e+00 0.000e+00 0.000e+00 ]
-
With sizes and ranges
>> h2 = Histogram2d.alloc(4, [0, 4], 3, [1, 5]) >> h2.xrange => GSL::Histogram::Range: [ 0.000e+00 1.000e+00 2.000e+00 3.000e+00 4.000e+00 ] >> h2.yrange => GSL::Histogram::Range: [ 1.000e+00 2.333e+00 3.667e+00 5.000e+00 ]
-
-
GSL::Histogram2d.alloc_uniform(nx, xmin, xmax, ny, ymin, ymax)
-
GSL::Histogram2d.equal_bins_p(h1, h2)
Methods¶ ↑
-
GSL::Histogram2d#set_ranges(vx, vy)
This sets the ranges of the existing histogram using two GSL::Vector objects or arrays.
-
GSL::Histogram2d#set_ranges_uniform(xmin, xmax, ymin, ymax)
-
GSL::Histogram2d#set_ranges_uniform([xmin, xmax], [ymin, ymax])
This sets the ranges of the existing histogram
selfto cover the rangesxmintoxmaxandymintoymaxuniformly. The values of the histogram bins are reset to zero.
-
GSL::Histogram2d#clone
-
GSL::Histogram2d#duplicate
Returns a newly created histogram which is an exact copy of the histogram
self.
-
GSL::Histogram2d#increment(x, y, weight = 1)
-
GSL::Histogram2d#accumulate(x, y, weight = 1)
-
GSL::Histogram2d#fill(x, y, weight = 1)
These method update the histogram
selfby addingweightto the bin whosexandyranges contain the coordinates (x,y). If (x,y) lies outside the limits of the histogram then none of the bins are modified.
-
GSL::Histogram2d#increment2(x, y, weight = 1)
-
GSL::Histogram2d#accumulate2(x, y, weight = 1)
-
GSL::Histogram2d#fill2(x, y, weight = 1)
These are similar to
GSL::Histogram#increment/accumulate/fill, but when (x,y) lies outside the limits of the histogram then the edge bin is incremented.
-
GSL::Histogram2d#get(i[, j])
-
GSL::Histogram2d#get([i, j])
-
GSL::Histogram2d#[i, j]
Return the contents of the
(i,j)-th bin of the histogramself.
-
GSL::Histogram2d#get_xrange(i)
-
GSL::Histogram2d#get_yrange(j)
These methods find the upper and lower range limits of the
i-th andj-th bins in the x and y directions of the histogramself.Ex:
>> h2 = Histogram2d.alloc(2, [0, 2], 3, [1, 4]) >> h2.get_xrange(1) => [1.0, 2.0] >> h2.get_yrange(1) => [2.0, 3.0]
-
GSL::Histogram2d#xrange
-
GSL::Histogram2d#yrange
These methods returns the range of histogram as
Vector::Viewobjects.
-
GSL::Histogram2d#xmax
-
GSL::Histogram2d#xmin
-
GSL::Histogram2d#ymax
-
GSL::Histogram2d#ymin
-
GSL::Histogram2d#nx
-
GSL::Histogram2d#ny
These methodss return the maximum upper and minimum lower range limits and the number of bins for the x and y directions of the histogram
self.
-
GSL::Histogram2d#reset
Resets all the bins of the histogram
selfto zero.
-
GSL::Histogram2d#find(x, y)
Finds the indices i and j to the to the bin which covers the coordinates (
x,y).
-
GSL::Histogram2d#max_val
Returns the maximum value contained in the histogram bins.
-
GSL::Histogram2d#max_bin
Returns the indices (i,j) of the bin containing the maximum value in the histogram
self.
-
GSL::Histogram2d#min_val
Returns the minimum value contained in the histogram bins.
-
GSL::Histogram2d#min_bin
Returns the indices (i,j) of the bin containing the minimum value in the histogram
self.
-
GSL::Histogram2d#xmean
Returns the mean of the histogrammed x variable, where the histogram is regarded as a probability distribution. Negative bin values are ignored for the purposes of this calculation.
-
GSL::Histogram2d#xsigma
Returns the standard deviation of the histogrammed x variable, where the histogram is regarded as a probability distribution. Negative bin values are ignored for the purposes of this calculation.
-
GSL::Histogram2d#ymean
Returns the mean of the histogrammed y variable, where the histogram is regarded as a probability distribution. Negative bin values are ignored for the purposes of this calculation.
-
GSL::Histogram2d#ysigma
Returns the standard deviation of the histogrammed y variable, where the histogram is regarded as a probability distribution. Negative bin values are ignored for the purposes of this calculation.
-
GSL::Histogram2d#cov
Returns the covariance of the histogrammed x and y variables, where the histogram is regarded as a probability distribution. Negative bin values are ignored for the purposes of this calculation.
-
GSL::Histogram2d#sum
-
GSL::Histogram2d#integral
Return the sum of all bin values. Negative bin values are included in the sum.
-
GSL::Histogram2d#add
-
GSL::Histogram2d#sub
-
GSL::Histogram2d#mul
-
GSL::Histogram2d#div
-
GSL::Histogram2d#scale(val)
-
GSL::Histogram2d#shift(val)
-
GSL::Histogram2d#fwrite(io)
-
GSL::Histogram2d#fwrite(filename)
-
GSL::Histogram2d#fread(io)
-
GSL::Histogram2d#fread(filename)
-
GSL::Histogram2d#fprintf(io, range_format, bin_format)
-
GSL::Histogram2d#fprintf(filename, range_format, bin_format)
-
GSL::Histogram2d#fscanf(io)
-
GSL::Histogram2d#fscanf(filename)
-
GSL::Histogram2d#xproject(jstart = 0, jend = ny-1)
Creates a
GSL::Histogramobject by projecting the 2D histogramselfonto the x-axis over the y-range fromjstarttojend.
-
GSL::Histogram2d#yproject(istart = 0, iend = nx-1)
Creates a
GSL::Histogramobject by projecting the 2D histogramselfonto the y-axis over the x-range fromistarttoiend.
Pdf class¶ ↑
-
GSL::Histogram2d::Pdf.alloc(nx, ny)
Constructors
-
GSL::Histogram2d::Pdf#init(h)
Initializer with a GSL::Histogram2d object
h.
-
GSL::Histogram2d::Pdf#sample(r1, r2)
Example¶ ↑
#!/usr/bin/env ruby require("gsl") N = 10000 BINS = 100 rng = Rng.new(2) h2 = Histogram2d.alloc(BINS, [-5, 5], BINS, [-8, 8]) sig1 = 1.0 sig2 = 2.0 for i in 0...N do r1 = rng.gaussian(sig1) r2 = rng.gaussian(sig2) h2.increment(r1, r2) end hx = h2.xproject hy = h2.yproject printf("%f %f %f %f\n", h2.xsigma, h2.ysigma, hx.sigma, hy.sigma) GSL::graph(hx, hy, "-T X -C -g 3")