bash、awk 或类似的指数函数
Exponential function with bash, awk or similar
我有这个文本文件:
$ cat resultados.txt
10.8
12.1
14.2
14.8
19.4
8.62
9.73
重要提示:数字在行中,而不是在列中。
我要进行几何运算:
e((l(number1)+l(number2)+l(numbern))/n)
我该怎么做?
如果您提供给定输入的预期输出,您的问题会更清楚,但这是您要找的吗?
$ awk '{sum+=log([=10=])} END{if (NR) print sum, sum/NR, exp(sum/NR)}' file
17.6152 2.51646 12.3846
这是几何平均数的另一种选择
$ awk 'BEGIN{p=1} {p*=[=10=]; n++} END{print p^(1/n)}' file
12.3846
或者,使用 NR
$ awk 'BEGIN{p=1} {p*=[=11=]} END{print p^(1/NR)}' file
我有这个文本文件:
$ cat resultados.txt
10.8
12.1
14.2
14.8
19.4
8.62
9.73
重要提示:数字在行中,而不是在列中。
我要进行几何运算:
e((l(number1)+l(number2)+l(numbern))/n)
我该怎么做?
如果您提供给定输入的预期输出,您的问题会更清楚,但这是您要找的吗?
$ awk '{sum+=log([=10=])} END{if (NR) print sum, sum/NR, exp(sum/NR)}' file
17.6152 2.51646 12.3846
这是几何平均数的另一种选择
$ awk 'BEGIN{p=1} {p*=[=10=]; n++} END{print p^(1/n)}' file
12.3846
或者,使用 NR
$ awk 'BEGIN{p=1} {p*=[=11=]} END{print p^(1/NR)}' file