aboutsummaryrefslogtreecommitdiffstats
path: root/src/projet.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/projet.cpp')
-rw-r--r--src/projet.cpp30
1 files changed, 27 insertions, 3 deletions
diff --git a/src/projet.cpp b/src/projet.cpp
index 46952e2..85f56ab 100644
--- a/src/projet.cpp
+++ b/src/projet.cpp
@@ -146,7 +146,26 @@ int make_table1(vector< vector<double> > data1, vector< vector<double> > data2)
return 0;
}
-
+int make_table2(vector< vector<double> > data1, vector< vector<double> > data2, vector< vector<double> > data3, vector< vector<double> > data4) {
+ std::fstream fs("doc/table2.tex", std::fstream::out);
+ fs<<R"(\begin{tabular}{|r|r|rr|rr|c|})"<<std::endl;
+ fs<<R"(\hline)"<<endl;
+ fs<<"d"<<" & "<<"K"<<" & "<<R"($\mu_{strat}$)"<<" & "<<R"($\mu_{rqmc}$)"<<" & "<<R"($\textrm{IC}_{strat}$)"<<" & "<<R"($\textrm{IC}_{rqmc}$)"<<" & "<< R"($\textrm{IC}_{strat}/\textrm{IC}_{rqmc}$)"<<R"(\\ \hline)"<<std::endl;
+ fs.precision(2);
+ int N = 1000000;
+ for (int i=0; i< 3; i++) {
+ double ic_strat16 = 1.95996*sqrt(data1[i][2]/(double) N);
+ fs<<"16"<<" & "<< (int) (data1[i][0]) << scientific <<"$"<< data1[i][1] <<" & "<<data2[i][0]<<" & "<<ic_srat16<<" & "<<data2[i][2]/2<<" & "<<fixed<<ic_strat16/(data2[i][2]/2)<<std::endl;
+ }
+ for (int i=0; i< 3; i++) {
+ double ic_strat64 = 1.95996*sqrt(data3[i][2]/(double) N);
+ fs<<"64"<<" & "<< (int) (data3[i][0]) << scientific <<"$"<< data3[i][1] <<" & "<<data4[i][0]<<" & "<<ic_srat64<<" & "<<data4[i][2]/2<<" & "<<fixed<<ic_strat64/(data4[i][2]/2)<<R"(\\ \hline)"<<std::endl;
+ }
+ fs<<R"(\end{tabular})"<<std::endl;
+ fs.close();
+ return 0;
+}
+
int main()
{
init_alea(2);
@@ -156,8 +175,13 @@ int main()
//~ cout<<"Randomised quasi Monte-Carlo sur l'exemple 1 de la normale"<<endl;
//~ vector< vector<double> > data2 = exemple1_rqmc();
//~ make_table1(data1, data2);
- exemple2_rqmc(16);
- exemple2_stratified(16);
+
+ vector< vector<double> > data1 = exemple2_stratified(16);
+ vector< vector<double> > data2 = exemple2_rqmc(16);
+ vector< vector<double> > data3 = exemple2_stratified(64);
+ vector< vector<double> > data4 = exemple2_rqmc(64);
+ make_table2(data1, data2, data3, data4);
+
return 0;
}