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
|
Line | |
---|
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 |
|
---|
14 | int 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.