Skip to content

Instantly share code, notes, and snippets.

@infinitekh
Created March 22, 2023 02:18
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save infinitekh/dc55d8465c41434744f31a41157dfe60 to your computer and use it in GitHub Desktop.
Save infinitekh/dc55d8465c41434744f31a41157dfe60 to your computer and use it in GitHub Desktop.
#!/bin/bash
#array D0[3] = [0.00256450982078853, 0.00138352380952381, 0.00184947918228621];
#array tauv[3] = [4.75e-1, 2.28e-1, 3.20e-1];
#array tauf[3] = [7.27, 4.36, 5.82];
#array tauD[3] = [ 3.68e4, 7.66e4, 5.47e4];
for i in [hd]qt_rho*type3.tr
do
awk -e ' NR==1 {
lb = 21.81*2;
ub = lb*2;
start = 1;
end= NF-1;
d0=0.00256450982;
for ( i=1; i<NF; i++) {
if ($i > lb) {
start=i;
break;
}
}
for ( i=1; i<NF; i++) {
if ($i > ub) {
end=i;
break;
}
}
}
NR!=1 {
sum=0;
sumsq=0;
count=0
for (i=start; i<end; i++ ) {
if($i>0){
value=$i/d0;
sum+=value;
sumsq+=value*value;
count+=1;
}
}
avg=sum/count;
stddev=sqrt( sumsq/count - avg*avg);
error=stddev/sqrt(count);
print $1,avg,stddev,error;
}
' $i > "average/${i%.tr}.average"
done
for i in [hd]qt_rho*type6.tr
do
awk -e ' NR==1 {
lb = 6.84*2;
ub = lb*2;
start = 1;
end= NF-1;
d0=0.001384;
for ( i=1; i<NF; i++) {
if ($i > lb) {
start=i;
break;
}
}
for ( i=1; i<NF; i++) {
if ($i > ub) {
end=i;
break;
}
}
}
NR!=1 {
sum=0;
sumsq=0;
count=0
for (i=start; i<end; i++ ) {
if($i>0) {
value=$i/d0;
sum+=value;
sumsq+=value*value;
count+=1;
}
}
avg=sum/count;
stddev=sqrt( sumsq/count - avg*avg);
error=stddev/sqrt(count);
print $1,avg,stddev,error;
}
' $i > "average/${i%.tr}.average"
done
for i in [hd]qt_rho*type9.tr
do
awk -e ' NR==1 {
lb = 17.46*2;
ub = lb*2;
start = 1;
end= NF-1;
d0=0.0025;
for ( i=1; i<NF; i++) {
if ($i > lb) {
start=i;
break;
}
}
for ( i=1; i<NF; i++) {
if ($i > ub) {
end=i;
break;
}
}
}
NR!=1 {
sum=0;
sumsq=0;
count=0
for (i=start; i<end; i++ ) {
if($i>0) {
value=$i/d0;
sum+=value;
sumsq+=value*value;
count+=1;
}
}
avg=sum/count;
stddev=sqrt( sumsq/count - avg*avg);
error=stddev/sqrt(count);
print $1,avg,stddev,error;
}
' $i > "average/${i%.tr}.average"
done
#for i in fqt*mcs*type9.tr; do ./average.awk -v lb=20 -v ub=40 -v d0="${D0[2]}" $i > average/${i%.tr}.average; done
#for i in fqt*mcs*type6.tr; do ./average.awk -v lb=15 -v ub=30 -v d0=$D6 $i > "average/${i%.tr}.average" done
#
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment