source: Sophya/trunk/Cosmo/SimLSS/cmvtpoisson.cc@ 3329

Last change on this file since 3329 was 3115, checked in by ansari, 19 years ago

Creation initiale du groupe Cosmo avec le repertoire SimLSS de
simulation de distribution de masse 3D des galaxies par CMV+Rz
18/12/2006

File size: 1.2 KB
RevLine 
[3115]1#include "sopnamsp.h"
2#include "machdefs.h"
3#include <iostream>
4#include <stdlib.h>
5#include <stdio.h>
6#include <string.h>
7#include <math.h>
8#include <unistd.h>
9#include "timing.h"
10#include "srandgen.h"
11
12#include "geneutils.h"
13
14int main(int narg,char *arg[])
15{
16 unsigned long nalea=10000000;
17 // Poisson de moyenne mu -> mean=mu, variance=sigma^2=mu
18 // mumax=10 -> on est a 10*sigma de zero
19 double mu = 5, mumax=10.;
20
21 cout<<"mu="<<mu<<" mumax="<<mumax<<" nalea="<<nalea<<endl;
22
23 Auto_Ini_Ranf(5);
24 InitTim();
25 double sum=0., sum2=0.;
26 double s=0., s2=0.;
27 unsigned long pr = nalea/25;
28 for(unsigned long i=0;i<nalea;i++) {
29 double m = mu*drand01(); // on fait varier la moyenne
30 sum += m; sum2 += m*m;
31 //int a = PoissRand(m);
32 unsigned long a = PoissRandLimit(m,mumax);
33 if(i%pr==0) cout<<i<<endl;
34 s += (double)a; s2 += (double)a*(double)a;
35 }
36 s /= (double)nalea;
37 s2 = s2/(double)nalea -s*s;
38 cout<<"Poisson: mean="<<s<<" sigma^2="<<s2<<" -> "<<sqrt(s2)<<" n="<<nalea<<endl;
39
40 sum /= (double)nalea;
41 sum2 = sum2/(double)nalea -sum*sum;
42 cout<<"Moyenne generee: m="<<sum<<" s^2="<<sum2<<" -> "<<sqrt(fabs(sum2))<<endl;
43 PrtTim("Fin");
44
45 return 0;
46}
Note: See TracBrowser for help on using the repository browser.