| 150 | } |
| 151 | |
| 152 | void stats(int nc, float[] data, float[] pars){ |
| 153 | // ("\tPoints\tEdges_n\tGraph_Length\tMin\tMax\tMean\tAvDev\tSDev\tVar\tSkew\tKurt"); |
| 154 | int i; |
| 155 | float s = 0, min = Float.MAX_VALUE, max = -Float.MAX_VALUE, totl=0, ave=0, adev=0, sdev=0, var=0, skew=0, kurt=0, p; |
| 156 | |
| 157 | for(i=0;i<nc;i++){ |
| 158 | totl+= data[i]; |
| 159 | //tot& = tot& + 1 |
| 160 | if(data[i]<min) min = data[i]; |
| 161 | if(data[i]>max) max = data[i]; |
| 162 | } |
| 163 | |
| 164 | ave = totl/nc; |
| 165 | |
| 166 | for(i=0;i<nc;i++){ |
| 167 | s = data[i] - ave; |
| 168 | adev+=Math.abs(s); |
| 169 | p = s * s; |
| 170 | var+= p; |
| 171 | p*=s; |
| 172 | skew+= p; |
| 173 | p*= s; |
| 174 | kurt+= p; |
| 175 | } |
| 176 | |
| 177 | adev/= nc; |
| 178 | var/=nc-1; |
| 179 | sdev = (float) Math.sqrt(var); |
| 180 | |
| 181 | if(var> 0){ |
| 182 | skew = (float)skew / (nc * (float) Math.pow(sdev,3)); |
| 183 | kurt = (float)kurt / (nc * (float) Math.pow(var, 2)) - 3; |
| 184 | } |
| 185 | pars[1]=(float) nc; |
| 186 | pars[2]=totl; |
| 187 | pars[3]=min; |
| 188 | pars[4]=max; |
| 189 | pars[5]=ave; |
| 190 | pars[6]=adev; |
| 191 | pars[7]=sdev; |
| 192 | pars[8]=var; |
| 193 | pars[9]=skew; |
| 194 | pars[10]=kurt; |
| 195 | |
| 196 | } |
| 197 | |
| 198 | } |