1
0
mirror of https://github.com/aportelli/LatAnalyze.git synced 2024-09-20 05:25:37 +01:00
LatAnalyze/examples/exRand.cpp

41 lines
1.1 KiB
C++
Raw Normal View History

#include <LatAnalyze/Io/Io.hpp>
#include <LatAnalyze/Functional/CompiledFunction.hpp>
#include <LatAnalyze/Core/Plot.hpp>
2014-02-10 16:01:39 +00:00
using namespace std;
using namespace Latan;
constexpr Index nDraw = 20000;
const string stateFileName = "exRand.seed";
2014-02-10 16:01:39 +00:00
int main(void)
{
random_device rd;
mt19937 gen(rd());
normal_distribution<> dis;
DVec gauss(nDraw);
Plot p;
Histogram h;
2014-02-10 16:01:39 +00:00
cout << "-- generating " << nDraw << " Gaussian random numbers..." << endl;
FOR_VEC(gauss, i)
{
gauss(i) = dis(gen);
}
h.setFromData(gauss, -5., 5., 40);
h.normalize();
cout << " median= " << h.median() << endl;
for (double s = 1.; s < 5.; ++s)
{
auto ci = h.confidenceInterval(s);
cout << static_cast<int>(s) << " sigma(s) interval= [";
cout << ci.first << ", " << ci.second << "]" << endl;
}
p << PlotHistogram(h);
p << PlotFunction(compile("return exp(-x_0^2/2)/sqrt(2*pi);", 1), -5., 5.);
p.display();
2014-02-10 16:01:39 +00:00
return EXIT_SUCCESS;
}