<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Statistical Distributions Tutorial</title>
<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
<link rel="home" href="../../index.html" title="Math Toolkit">
<link rel="up" href="../dist.html" title="Statistical Distributions and Functions">
<link rel="prev" href="../dist.html" title="Statistical Distributions and Functions">
<link rel="next" href="stat_tut/overview.html" title="Overview of Distributions">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../dist.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dist.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="stat_tut/overview.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="math_toolkit.dist.stat_tut"></a><a class="link" href="stat_tut.html" title="Statistical Distributions Tutorial"> Statistical Distributions
      Tutorial</a>
</h3></div></div></div>
<div class="toc"><dl>
<dt><span class="section"><a href="stat_tut/overview.html"> Overview of Distributions</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="stat_tut/overview/headers.html"> Headers
          and Namespaces</a></span></dt>
<dt><span class="section"><a href="stat_tut/overview/objects.html"> Distributions
          are Objects</a></span></dt>
<dt><span class="section"><a href="stat_tut/overview/generic.html"> Generic
          operations common to all distributions are non-member functions</a></span></dt>
<dt><span class="section"><a href="stat_tut/overview/complements.html">
          Complements are supported too - and when to use them</a></span></dt>
<dt><span class="section"><a href="stat_tut/overview/parameters.html">
          Parameters can be calculated</a></span></dt>
<dt><span class="section"><a href="stat_tut/overview/summary.html"> Summary</a></span></dt>
</dl></dd>
<dt><span class="section"><a href="stat_tut/weg.html"> Worked Examples</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="stat_tut/weg/dist_construct_eg.html">
          Distribution Construction Example</a></span></dt>
<dt><span class="section"><a href="stat_tut/weg/st_eg.html"> Student's
          t Distribution Examples</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="stat_tut/weg/st_eg/tut_mean_intervals.html">
            Calculating confidence intervals on the mean with the Students-t distribution</a></span></dt>
<dt><span class="section"><a href="stat_tut/weg/st_eg/tut_mean_test.html">
            Testing a sample mean for difference from a "true" mean</a></span></dt>
<dt><span class="section"><a href="stat_tut/weg/st_eg/tut_mean_size.html">
            Estimating how large a sample size would have to become in order to give
            a significant Students-t test result with a single sample test</a></span></dt>
<dt><span class="section"><a href="stat_tut/weg/st_eg/two_sample_students_t.html">
            Comparing the means of two samples with the Students-t test</a></span></dt>
<dt><span class="section"><a href="stat_tut/weg/st_eg/paired_st.html">
            Comparing two paired samples with the Student's t distribution</a></span></dt>
</dl></dd>
<dt><span class="section"><a href="stat_tut/weg/cs_eg.html"> Chi Squared
          Distribution Examples</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="stat_tut/weg/cs_eg/chi_sq_intervals.html">
            Confidence Intervals on the Standard Deviation</a></span></dt>
<dt><span class="section"><a href="stat_tut/weg/cs_eg/chi_sq_test.html">
            Chi-Square Test for the Standard Deviation</a></span></dt>
<dt><span class="section"><a href="stat_tut/weg/cs_eg/chi_sq_size.html">
            Estimating the Required Sample Sizes for a Chi-Square Test for the Standard
            Deviation</a></span></dt>
</dl></dd>
<dt><span class="section"><a href="stat_tut/weg/f_eg.html"> F Distribution
          Examples</a></span></dt>
<dt><span class="section"><a href="stat_tut/weg/binom_eg.html"> Binomial
          Distribution Examples</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="stat_tut/weg/binom_eg/binomial_coinflip_example.html">
            Binomial Coin-Flipping Example</a></span></dt>
<dt><span class="section"><a href="stat_tut/weg/binom_eg/binomial_quiz_example.html">
            Binomial Quiz Example</a></span></dt>
<dt><span class="section"><a href="stat_tut/weg/binom_eg/binom_conf.html">
            Calculating Confidence Limits on the Frequency of Occurrence for a Binomial
            Distribution</a></span></dt>
<dt><span class="section"><a href="stat_tut/weg/binom_eg/binom_size_eg.html">
            Estimating Sample Sizes for a Binomial Distribution.</a></span></dt>
</dl></dd>
<dt><span class="section"><a href="stat_tut/weg/neg_binom_eg.html"> Negative
          Binomial Distribution Examples</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="stat_tut/weg/neg_binom_eg/neg_binom_conf.html">
            Calculating Confidence Limits on the Frequency of Occurrence for the
            Negative Binomial Distribution</a></span></dt>
<dt><span class="section"><a href="stat_tut/weg/neg_binom_eg/neg_binom_size_eg.html">
            Estimating Sample Sizes for the Negative Binomial.</a></span></dt>
<dt><span class="section"><a href="stat_tut/weg/neg_binom_eg/negative_binomial_example1.html">
            Negative Binomial Sales Quota Example.</a></span></dt>
<dt><span class="section"><a href="stat_tut/weg/neg_binom_eg/negative_binomial_example2.html">
            Negative Binomial Table Printing Example.</a></span></dt>
</dl></dd>
<dt><span class="section"><a href="stat_tut/weg/normal_example.html"> Normal
          Distribution Examples</a></span></dt>
<dd><dl><dt><span class="section"><a href="stat_tut/weg/normal_example/normal_misc.html">
            Some Miscellaneous Examples of the Normal (Gaussian) Distribution</a></span></dt></dl></dd>
<dt><span class="section"><a href="stat_tut/weg/nccs_eg.html"> Non Central
          Chi Squared Example</a></span></dt>
<dd><dl><dt><span class="section"><a href="stat_tut/weg/nccs_eg/nccs_power_eg.html">
            Tables of the power function of the &#967;<sup>2</sup> test.</a></span></dt></dl></dd>
<dt><span class="section"><a href="stat_tut/weg/error_eg.html"> Error Handling
          Example</a></span></dt>
<dt><span class="section"><a href="stat_tut/weg/find_eg.html"> Find Location
          and Scale Examples</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="stat_tut/weg/find_eg/find_location_eg.html">
            Find Location (Mean) Example</a></span></dt>
<dt><span class="section"><a href="stat_tut/weg/find_eg/find_scale_eg.html">
            Find Scale (Standard Deviation) Example</a></span></dt>
<dt><span class="section"><a href="stat_tut/weg/find_eg/find_mean_and_sd_eg.html">
            Find mean and standard deviation example</a></span></dt>
</dl></dd>
<dt><span class="section"><a href="stat_tut/weg/nag_library.html"> Comparison
          with C, R, FORTRAN-style Free Functions</a></span></dt>
<dt><span class="section"><a href="stat_tut/weg/c_sharp.html"> Using the
          Distributions from Within C#</a></span></dt>
</dl></dd>
<dt><span class="section"><a href="stat_tut/variates.html"> Random Variates
        and Distribution Parameters</a></span></dt>
<dt><span class="section"><a href="stat_tut/dist_params.html"> Discrete Probability
        Distributions</a></span></dt>
</dl></div>
<p>
        This library is centred around statistical distributions, this tutorial will
        give you an overview of what they are, how they can be used, and provides
        a few worked examples of applying the library to statistical tests.
      </p>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2006 , 2007, 2008, 2009, 2010 John Maddock, Paul A. Bristow,
      Hubert Holin, Xiaogang Zhang, Bruno Lalande, Johan R&#229;de, Gautam Sewani and
      Thijs van den Berg<p>
        Distributed under the Boost Software License, Version 1.0. (See accompanying
        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
      </p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../dist.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dist.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="stat_tut/overview.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>
