我有一个awk脚本,我称之为random.awk
,它生成的近似正态分布的随机数
#!/usr/bin/awk -f
#the sum of three uniform [-1,1] random variables is used to get the approximate normal distribution
#the first argument the number of random numbers to be generated, the default is 100
#the second argument is to get the mean value, the default is 0
#the third argument is to get the standard deviation, the default is 1
function prand(){
return(((rand()*2)-1)+((rand()*2)-1)+((rand()*2)-1));
}
BEGIN{
# establish default values
countnumber=(length(ARGV[1])==0?100:ARGV[1]);
meanvalue=(length(ARGV[2])==0?0.0:ARGV[2]);
stdeviation=(length(ARGV[3])==0?1.0:ARGV[3]);
for(i=0;i<count;i++){
printf("%.16e\n",prand()*stdeviation+meanvalue)
}
}
如何创建awk文件以使用random.awk
的输出作为输入并实现天真求和和平均值计算?
答案 0 :(得分:1)
创建一个类似于生成随机值的awk脚本,但实现均值和求和计算,并使用shell管道符号|
将第一个脚本的输出传输到第二个脚本。如果您需要更多帮助,那么您需要在问题中提供更多信息。