ねえ、私はテキストファイルのレコード間の距離を見つけようとしています。私はawkを使ってそれをやろうとしています。入力例は次のとおりです。
1 2 1 4 yes
2 3 2 2 no
1 1 1 5 yes
4 2 4 0 no
5 1 0 1 no
それぞれの数値間の距離を求めたい。私はこれを、値を減算してから答えを2乗することによって行っています。以下のコードを試しましたが、すべての距離は単純に0です。助けていただければ幸いです。
BEGIN {recs = 0; fieldnum = 5;}
{
recs++;
for(i=1;i<=NF;i++) {data[recs,i] = $i;}
}
END {
for(r=1;r<=recs;r++) {
for(f=1;f<fieldnum;f++) {
##find distances
for(t=1;t<=recs;t++) {
distance[r,t]+=((data[r,f] - data[t,f])*(data[r,f] - data[t,f]));
}
}
}
for(r=1;r<=recs;r++) {
for(t=1;t<recs;t++) {
##print distances
printf("distance between %d and %d is %d \n",r,t,distance[r,t]);
}
}
}