diff options
Diffstat (limited to 'src/projet.cpp')
| -rw-r--r-- | src/projet.cpp | 30 |
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; } |
