File: The-histogram-struct.html

package info (click to toggle)
gsl-ref-html 2.3-1
  • links: PTS
  • area: non-free
  • in suites: bullseye, buster, sid
  • size: 6,876 kB
  • ctags: 4,574
  • sloc: makefile: 35
file content (134 lines) | stat: -rw-r--r-- 5,926 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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 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.3 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 the freedom to copy and modify this
GNU Manual." -->
<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
<head>
<title>GNU Scientific Library &ndash; Reference Manual: The histogram struct</title>

<meta name="description" content="GNU Scientific Library &ndash; Reference Manual: The histogram struct">
<meta name="keywords" content="GNU Scientific Library &ndash; Reference Manual: The histogram struct">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="index.html#Top" rel="start" title="Top">
<link href="Function-Index.html#Function-Index" rel="index" title="Function Index">
<link href="Histograms.html#Histograms" rel="up" title="Histograms">
<link href="Histogram-allocation.html#Histogram-allocation" rel="next" title="Histogram allocation">
<link href="Histograms.html#Histograms" rel="previous" title="Histograms">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.indentedblock {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
div.smalllisp {margin-left: 3.2em}
kbd {font-style:oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nocodebreak {white-space:nowrap}
span.nolinebreak {white-space:nowrap}
span.roman {font-family:serif; font-weight:normal}
span.sansserif {font-family:sans-serif; font-weight:normal}
ul.no-bullet {list-style: none}
-->
</style>


</head>

<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="The-histogram-struct"></a>
<div class="header">
<p>
Next: <a href="Histogram-allocation.html#Histogram-allocation" accesskey="n" rel="next">Histogram allocation</a>, Up: <a href="Histograms.html#Histograms" accesskey="u" rel="up">Histograms</a> &nbsp; [<a href="Function-Index.html#Function-Index" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<a name="The-histogram-struct-1"></a>
<h3 class="section">23.1 The histogram struct</h3>

<p>A histogram is defined by the following struct,
</p>
<dl>
<dt><a name="index-gsl_005fhistogram"></a>Data Type: <strong>gsl_histogram</strong></dt>
<dd><dl compact="compact">
<dt><code>size_t n</code></dt>
<dd><p>This is the number of histogram bins
</p></dd>
<dt><code>double * range</code></dt>
<dd><p>The ranges of the bins are stored in an array of <em><var>n</var>+1</em> elements
pointed to by <var>range</var>.
</p></dd>
<dt><code>double * bin</code></dt>
<dd><p>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.
</p></dd>
</dl>
</dd></dl>

<p>The range for <var>bin</var>[i] is given by <var>range</var>[i] to
<var>range</var>[i+1].  For <em>n</em> bins there are <em>n+1</em> 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,
</p><div class="display">
<pre class="display">bin[i] corresponds to range[i] &lt;= x &lt; range[i+1]
</pre></div>

<p>Here is a diagram of the correspondence between ranges and bins on the
number-line for <em>x</em>,
</p>
<div class="smallexample">
<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></div>

<p>In this picture the values of the <var>range</var> array are denoted by
<em>r</em>.  On the left-hand side of each bin the square bracket
&lsquo;<samp>[</samp>&rsquo; denotes an inclusive lower bound 
(<em>r &lt;= x</em>), and the round parentheses &lsquo;<samp>)</samp>&rsquo; on the right-hand
side denote an exclusive upper bound (<em>x &lt; r</em>).  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>
<p>The <code>gsl_histogram</code> struct and its associated functions are defined
in the header file <samp>gsl_histogram.h</samp>.
</p>
<hr>
<div class="header">
<p>
Next: <a href="Histogram-allocation.html#Histogram-allocation" accesskey="n" rel="next">Histogram allocation</a>, Up: <a href="Histograms.html#Histograms" accesskey="u" rel="up">Histograms</a> &nbsp; [<a href="Function-Index.html#Function-Index" title="Index" rel="index">Index</a>]</p>
</div>



</body>
</html>