diff options
| author | Bertrand <bertrand.horel@gmail.com> | 2016-02-08 14:40:20 +0000 |
|---|---|---|
| committer | Bertrand <bertrand.horel@gmail.com> | 2016-02-08 14:40:20 +0000 |
| commit | a86b1d918a4c31f74024aa6b42fa0021919585de (patch) | |
| tree | d8fdea76dabb3fdd04714c413030c290215dc8e5 /main.cpp | |
| parent | f339746cc182a746087e3637c9425b1b5f0b0ab2 (diff) | |
| download | projet_C++-a86b1d918a4c31f74024aa6b42fa0021919585de.tar.gz | |
débuggage et seeding
Diffstat (limited to 'main.cpp')
| -rw-r--r-- | main.cpp | 28 |
1 files changed, 18 insertions, 10 deletions
@@ -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; } |
