File: The-histogram-struct.html

package info (click to toggle)
gsl-ref-html 1.10-1
  • links: PTS
  • area: main
  • in suites: lenny
  • size: 4,496 kB
  • ctags: 2,955
  • sloc: makefile: 33
file content (93 lines) | stat: -rw-r--r-- 4,508 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
<html lang="en">
<head>
<title>The histogram struct - GNU Scientific Library -- Reference Manual</title>
<meta http-equiv="Content-Type" content="text/html">
<meta name="description" content="GNU Scientific Library -- Reference Manual">
<meta name="generator" content="makeinfo 4.8">
<link title="Top" rel="start" href="index.html#Top">
<link rel="up" href="Histograms.html" title="Histograms">
<link rel="next" href="Histogram-allocation.html" title="Histogram allocation">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
<!--
Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 The GSL Team.

Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.2 or
any later version published by the Free Software Foundation; with the
Invariant Sections being ``GNU General Public License'' and ``Free Software
Needs Free Documentation'', the Front-Cover text being ``A GNU Manual'',
and with the Back-Cover Text being (a) (see below).  A copy of the
license is included in the section entitled ``GNU Free Documentation
License''.

(a) The Back-Cover Text is: ``You have freedom to copy and modify this
GNU Manual, like GNU software.''-->
<meta http-equiv="Content-Style-Type" content="text/css">
<style type="text/css"><!--
  pre.display { font-family:inherit }
  pre.format  { font-family:inherit }
  pre.smalldisplay { font-family:inherit; font-size:smaller }
  pre.smallformat  { font-family:inherit; font-size:smaller }
  pre.smallexample { font-size:smaller }
  pre.smalllisp    { font-size:smaller }
  span.sc    { font-variant:small-caps }
  span.roman { font-family:serif; font-weight:normal; } 
  span.sansserif { font-family:sans-serif; font-weight:normal; } 
--></style>
</head>
<body>
<div class="node">
<p>
<a name="The-histogram-struct"></a>
Next:&nbsp;<a rel="next" accesskey="n" href="Histogram-allocation.html">Histogram allocation</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="Histograms.html">Histograms</a>
<hr>
</div>

<h3 class="section">21.1 The histogram struct</h3>

<p>A histogram is defined by the following struct,

<div class="defun">
&mdash; Data Type: <b>gsl_histogram</b><var><a name="index-gsl_005fhistogram-1861"></a></var><br>
<blockquote><dl>
<dt><code>size_t n</code><dd>This is the number of histogram bins
<br><dt><code>double * range</code><dd>The ranges of the bins are stored in an array of <var>n</var>+1 elements
pointed to by <var>range</var>. 
<br><dt><code>double * bin</code><dd>The counts for each bin are stored in an array of <var>n</var> elements
pointed to by <var>bin</var>.  The bins are floating-point numbers, so you can
increment them by non-integer values if necessary. 
</dl>
        </p></blockquote></div>

<p class="noindent">The range for <var>bin</var>[i] is given by <var>range</var>[i] to
<var>range</var>[i+1].  For n bins there are n+1 entries in the
array <var>range</var>.  Each bin is inclusive at the lower end and exclusive
at the upper end.  Mathematically this means that the bins are defined by
the following inequality,
<pre class="display">     bin[i] corresponds to range[i] &lt;= x &lt; range[i+1]
</pre>
   <p class="noindent">Here is a diagram of the correspondence between ranges and bins on the
number-line for x,

<pre class="smallexample">     
          [ bin[0] )[ bin[1] )[ bin[2] )[ bin[3] )[ bin[4] )
       ---|---------|---------|---------|---------|---------|---  x
        r[0]      r[1]      r[2]      r[3]      r[4]      r[5]
     
</pre>
   <p class="noindent">In this picture the values of the <var>range</var> array are denoted by
r.  On the left-hand side of each bin the square bracket
`<samp><span class="samp">[</span></samp>' denotes an inclusive lower bound
(<!-- {$r \le x$} -->
r &lt;= x), and the round parentheses `<samp><span class="samp">)</span></samp>' on the right-hand
side denote an exclusive upper bound (x &lt; r).  Thus any samples
which fall on the upper end of the histogram are excluded.  If you want
to include this value for the last bin you will need to add an extra bin
to your histogram.

   <p>The <code>gsl_histogram</code> struct and its associated functions are defined
in the header file <samp><span class="file">gsl_histogram.h</span></samp>.

<hr>The GNU Scientific Library - a free numerical library licensed under the GNU GPL<br>Back to the <a href="/software/gsl/">GNU Scientific Library Homepage</a></body></html>