美文网首页
awk生成随机数

awk生成随机数

作者: AibWang | 来源:发表于2020-12-24 18:25 被阅读0次
  num=30
  scale=0.5
  
  awk -v N=$num -v scale=$scale 'BEGIN{srand();
      for(i=0;i<N;i++){
          a=rand();
          b=(a*2-1)*scale
          printf("%.2f\n", b);
      }
  }'

srand()生成随机种子,可以包含指定seed的表达式,如srand(1234)如果没有srand(),每次生成的随机数都是一样的,目前未搞清楚原因

rand()生成[0, 1)的随浮点数。

如果需要生成[a,b)范围内的随机数,只需要对rand()生成的随机数做如下运算:

    var1=rand()
    var2 = a+var1*(b-a)

如生成[-1,1)的随机数:

    var1=rand()
    var2 = -1+var1*(1-(-1))
    # 或
    var1=rand()
    var2 = var1*2-1

如果将srand()放在for循环之内,在for循环中生成的随机数都是一个值。

    num=30
    scale=0.5
    
    awk -v N=$num -v scale=$scale 'BEGIN{
        for(i=0;i<N;i++){
            srand();
            a=rand();
            b=(a*2-1)*scale
            printf("%.2f\n", b);
        }
    }'

参考:
https://www.runoob.com/w3cnote/awk-built-in-functions.html

相关文章

  • awk生成随机数

    srand()生成随机种子,可以包含指定seed的表达式,如srand(1234),如果没有srand(),每次生...

  • 在以太坊生成随机数的几种方式(含代码)

    一、什么是随机数 随机数都是由随机数生成器(Random Number Generator)生成的。随机数分为”真...

  • 生成随机数

    两个C函数 rand()函数生成的随机数是伪随机数,所谓伪随机数,指的是程序每次运行,生成的随机数都是不变的,生成...

  • awk

    awk:报告生成器,格式化文本输出 内容: awk介绍 awk基本用法 awk变量 awk格式化 awk操作符 a...

  • Golang生成随机数的方法总结

    生成区间随机数 生成指定区间随机数(包括纯数字/纯字母/随机)

  • PHP生成随机数

    PHP生成随机数,相信大家在做项目的时候是最常见的吧。js生成随机数,PHP生成随机数。 应用场景:用户注册/登录...

  • Excel怎么生成随机数?

    Excel怎么生成随机数?如何生成指定范围内的随机数呢?可以在Excel中使用函数,生成随机数。 1、在单元格中输...

  • go生成随机数字和固定长度字符串

    生成随机数字 go可以通过math/rand包来生成随机数在生成随机数之前,需要一个种子,用于整个过程的初始化,否...

  • 无处不在的随机数

    目录: 什么是随机数 随机数分类 伪随机数生成器 真随机数生成器 各种语言中的随机数 使用系统时间作为种子是否安全...

  • 功能函数

    生成随机数组

网友评论

      本文标题:awk生成随机数

      本文链接:https://www.haomeiwen.com/subject/qkzmnktx.html