aboutsummaryrefslogtreecommitdiffstats
path: root/src/projet.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/projet.cpp')
-rw-r--r--src/projet.cpp12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/projet.cpp b/src/projet.cpp
index 311c5bb..de75fd1 100644
--- a/src/projet.cpp
+++ b/src/projet.cpp
@@ -48,11 +48,12 @@ vector< vector<double> > exemple1_stratified() {
vector< vector<double> > exemple1_rqmc(){
int I = 100;
- vector<int> N = {3, 13, 113, 313}; //les N choisis pour que les NI soient égaux aux N de l'exemple 1 stratified_sampling
+ vector<int> N = {3, 13, 113, 313}; //les N choisis pour que les N*I soient égaux aux N de l'exemple 1 stratified_sampling
first f; //comme quasi_gaussian retourne un vecteur, on doit composer avec f pour avoir le double QG()[0]
vector< vector<double> > data (4);
for(size_t i =0; i<N.size(); i++){
- data[i] = monte_carlo (I, quasi_mean<struct first, sobol> (N[i], 1, f));
+ quasi_gaussian<sobol> QG(1);
+ data[i] = monte_carlo (I, mean(N[i], compose(f, QG)));
}
cout<<"moyenne"<<"\t\t"<<"sigma"<<"\t\t"<<"taille IC"<<endl;
for(int i =0; i<3; i++){
@@ -112,7 +113,7 @@ vector <vector<double> > exemple2_stratified (int d, bool call = true){
}
vector< vector<double> > exemple2_rqmc(int d, bool call = true) {
- int N= 10000;
+ int N = 10000;
double r = 0.05;
double T = 1.0;
double S0 = 50;
@@ -122,7 +123,8 @@ vector< vector<double> > exemple2_rqmc(int d, bool call = true) {
int I=100;//la taille du vrai Monte-Carlo
for(int i =0; i<3; i++) {
asian_option A(r, T, S0, V, K[i], call);
- data[i] = monte_carlo(I, quasi_mean<asian_option, sobol> (N, d, A));
+ quasi_gaussian<sobol> QG(d);
+ data[i] = monte_carlo(I, mean(N, compose(A, QG)));
}
return data;
};
@@ -170,7 +172,7 @@ int main()
init_alea(0);
cout<<"comparaison stratified sampling/RQMC sur l'example 1\n"<<endl;
make_table1(exemple1_stratified(), exemple1_rqmc());
-
+
vector< vector<double> > data1 = exemple2_stratified(16);
vector< vector<double> > data2 = exemple2_rqmc(16);
vector< vector<double> > data3 = exemple2_stratified(64);