我有一个时间序列温度数据为:
ifile.txt
1921 25
1922 25.1
1923 24.2
1924 23.4
1925 24.4
1926 25.1
1927 23.6
1928 25.2
1929 23.9
1930 25.6
我想计算的趋势期间1923年至1929年。
我的算法来做到这一点是:
适合上述各点的线如
Y = mX + c ; where m is the trend
我能找到的整个时期的趋势,但我能不能选择一个特定的时期,要修改我的脚本。 请你检查我的脚本?
awk '/1923/,/1929/ {if (NR==FNR) x[NR] = $1;y[NR] = $2;
sx += x[NR]; sy += y[NR];
sxx += x[NR]*x[NR];
sxy += x[NR]*y[NR];}
END{
det = NR*sxx - sx*sx;
trend = (NR*sxy - sx*sy)/det;
print trend;}' ifile.txt
它不打印正确的值。
The correct value is 0.0679