aboutsummaryrefslogtreecommitdiffstats
path: root/main.cpp
diff options
context:
space:
mode:
authorBertrand <bertrand.horel@gmail.com>2016-02-08 14:40:20 +0000
committerBertrand <bertrand.horel@gmail.com>2016-02-08 14:40:20 +0000
commita86b1d918a4c31f74024aa6b42fa0021919585de (patch)
treed8fdea76dabb3fdd04714c413030c290215dc8e5 /main.cpp
parentf339746cc182a746087e3637c9425b1b5f0b0ab2 (diff)
downloadprojet_C++-a86b1d918a4c31f74024aa6b42fa0021919585de.tar.gz
débuggage et seeding
Diffstat (limited to 'main.cpp')
-rw-r--r--main.cpp28
1 files changed, 18 insertions, 10 deletions
diff --git a/main.cpp b/main.cpp
index 88617c4..8692967 100644
--- a/main.cpp
+++ b/main.cpp
@@ -1,16 +1,16 @@
#include <iostream>
#include <gsl/gsl_rng.h>
#include <vector>
-//#include "rtnorm.hpp"
#include <gsl/gsl_cdf.h>
#include <gsl/gsl_math.h>
#include "stratified_sampling.hpp"
#include <cmath>
#include <algorithm>
+using namespace std;
//--génération quantiles--
-std::vector<double> quantile_norm(int n, double sigma){
- std::vector<double> q(n);
+vector<double> quantile_norm(int n, double sigma){
+ vector<double> q(n);
for (int i=0; i<n; i++) {
q[i] = gsl_cdf_gaussian_Pinv ((double)(i+1)/n, sigma);
}
@@ -21,15 +21,23 @@ int main()
{
//--- GSL random init ---
gsl_rng_env_setup();
- std::vector<double> q;
- q = quantile_norm(10, 1);
+ vector<double> q = quantile_norm(10, 1);
vector<double> p(10, 0.1);
- vector<gaussian_truncated> gen;
- gen.push_back(gaussian_truncated(GSL_NEGINF,q[0]));
+ vector<gaussian_truncated> rvar;
+ rvar.push_back(gaussian_truncated(GSL_NEGINF, q[0],0,1,0));
for (int i=1; i<10; i++){
- gen.push_back(gaussian_truncated(q[i-1],q[i]));
+ rvar.push_back(gaussian_truncated(q[i-1], q[i],0,1,i));
+ }
+ stratified_sampling<gaussian_truncated> S(p,rvar);
+ S.update(100);
+ S.draw();
+ for(int i=0;i<10;i++){
+ cout<<S.get_mean()[i]<<endl;
+ }
+ S.update(500);
+ S.draw();
+ for(int i=0;i<10;i++){
+ cout<<S.get_mean()[i]<<endl;
}
- stratified_sampling<gaussian_truncated> S(p, gen);
- //S.update(1000);
return 0;
}