/* plot udrnrt.c 3 choices uniformly distributed=1 * gauss distributed=2 max 3 sigma * gausse distributed=3 max 10 sigma? */ #include #include #include #include #include "udrnrt.h" int main(int argc, char argv[]) { double mean, sigma, *v; double maxv, minv, meanv, sigmav; double sum, sumsq, stddev; int i, j, n, m, kind; int stat; FILE * outp; double binv[100]; int binn[100]; double aval, bval; printf("plot_udrnrt.c , enter number of samples:\n"); scanf("%d",&n); printf("you have selected %d samples\n",n); printf("enter 1 for uniformly distributed:\n"); printf("or 2 for gauss distributed:\n"); printf("or 3 for gausse distributed:\n"); printf("or 4 for sine wave:\n"); scanf("%d",&kind); if(kind==1) printf("you have selected uniformly distributed\n",n); if(kind==2) { printf("you have selected gauss distributed\n",n); printf("enter mean sigma:\n"); scanf("%lf %lf",&mean, &sigma); printf("you have selected mean=%f, sigma=%f\n", mean, sigma); } if(kind==3) { printf("you have selected gausse distributed\n",n); printf("enter mean sigma:\n"); scanf("%lf %lf",&mean, &sigma); printf("you have selected mean=%f, sigma=%f\n", mean, sigma); } if(kind==4) printf("you have selected a sine wave\n",n); v=(double *)malloc(sizeof(double)*n); if(v==NULL){printf("malloc failed to allocate %d doubles\n",n); return 1;} if(kind==1) { for(i=0; imaxv) maxv = v[i]; if(v[i]maxv) maxv = v[i]; if(v[i]maxv) maxv = v[i]; if(v[i]maxv) maxv = v[i]; if(v[i]n) m = n; bval = (maxv-minv)/(double)(m-1); aval = minv-bval/2.0; /* center bin */ for(i=0; i=aval && v[j]