{ weights[$1,$2] = $3; if ($3 > MAXWEIGHT) MAXWEIGHT = $3; if ($3>0.0) wlist[l++]=$3; if ($3 > weights_n) weights_n = $3; distsdiff[$1,$2] = $4; if ($4 > distsdiff_n) distsdiff_n = $4; if ($5 <= 10 && sqrt(($1-$2)*($1-$2))>10 ) realdist[$1,$2] = 1; else realdist[$1,$2] = 0; desdist[$1,$2] = $6; if ($6 > desdist_n) desdist_n = $6; if ($1 > MAXRES) MAXRES = $1; if ($2 > MAXRES) MAXRES = $2; } END { for (perc=0; perc<=1.0; perc+=0.01) { c=0; error=0; cnt=0; indx = ((l-1)*1.0) * perc; minweight = wlist[ int(indx) ]; for (i=1; i<=MAXRES; i++) { for (j=i+1; j<=MAXRES; j++) { c++; w = weights[i,j]*1.0; if (w <= minweight*1.0) w=0; else cnt++; d = w/weights_n; u = realdist[i,j]; if (u==0) { # NO REAL CONTACT error += d*d; } else { # REAL CONTACT error += (1-d)*(1-d); } } } print 1.0-perc, cnt, minweight, sqrt(error/c); } }