34 #include <Base/Math/Random.hh>
45 double mean1 = 10.0, mean2 = -30.0;
46 double sigma1 = 0.5, sigma2 = 10.0;
48 double dist[COUNT][2];
50 double mean[2], var[2];
53 for (
int i=0; i<2; i++){
54 mean[i] = var[i] = 0.0;
55 for (
int j=0; j<2; j++)
60 for (
register unsigned int i=0; i<COUNT; i++){
63 dist[i][0]=num1 * cos(angle) - num2 * sin(angle);
64 dist[i][1]=num1 * sin(angle) + num2 * cos(angle);
67 cout << dist[i][0] <<
"\t" << dist[i][1] << endl;
72 cerr <<
"mean:" << endl;
73 cerr << mean[0] <<
"\t" << mean[1] << endl;
76 for (
register unsigned int i=0; i<COUNT; i++){
77 covm[0][0]+=(dist[i][0]-mean[0])*(dist[i][0]-mean[0]);
78 covm[1][1]+=(dist[i][1]-mean[1])*(dist[i][1]-mean[1]);
79 covm[0][1]+=(dist[i][1]-mean[1])*(dist[i][0]-mean[0]);
84 covm[1][0]=covm[0][1];
87 cerr <<
"covariance matrix:" << endl;
88 for (
int i=0; i<2; i++){
89 for (
int j=0; j<2; j++){
90 cerr << covm[i][j] <<
"\t";
double GetNormalDistributed(const double mean, const double sigma)
on succesive calls return normal distributed random variable with mean and standard deviation sigma ...
class for producing random numbers from different distributions