石鑫华视觉论坛

 找回密码
 注册会员
查看: 3706|回复: 1

[原创] LabVIEW实现加权随机数

[复制链接]
  • TA的每日心情
    擦汗
    13 小时前
  • 签到天数: 3382 天

    连续签到: 4 天

    [LV.Master]2000FPS

    发表于 2020-1-17 10:42:39 | 显示全部楼层 |阅读模式 来自:广东省东莞市 电信

    注册登陆后可查看附件和大图,以及购买相关内容

    您需要 登录 才可以下载或查看,没有账号?注册会员

    x
    LabVIEW实现加权随机数

    LabVIEW中只有一个0-1的DBL类型的随机数函数,在后面的新版本中,如LabVIEW2019,则还添加了一个任一范围内的多态随机数(可以是U64、I64、DBL三种数据类型)。但是目前为止还没有添加一个加权随机数的函数。而加权随机数在实际情况中,还是比较常见的。如年终晚会上的抽奖暗箱操作,那就可以针对性的对某些人中奖概率提高。又或者是期望某些类型的数据出现的比率高,而另外一些数据出现的频率低,这个时候就需要用到加权随机数的概念了。加权随机数,并不是说生成的随机数本身是加权的,当然一定要这样,也是可以的,但数本身作为选项(整数可实现,如果是小数,那基本上不可罗列)。但是通常来说,是针对一组有限的数据集中所有项的出现频率做出一定的加权控制。而且加权控制时,一般来说项不会太多,如果项太多,那可能要设置很多参数。当然我们可以添加很多项,默认都是1的权重,只是少部分内容增加权重,但是设置参数仍然是一个繁琐的过程。

    下面可以看一下加权随机数的演示实例效果:

    LabVIEW实现加权随机数

    LabVIEW实现加权随机数

    使用For循环调用加权随机数运行一千万次运行中

    LabVIEW实现加权随机数

    LabVIEW实现加权随机数

    使用For循环调用加权随机数运行一千万次运行结束后
    如上面的例子,我们设置了A、B、C、D、E五个项,A的权重是10,B则为20、C为30、D为25、E为15。可以看到运行一千万次过程中,运行几百万次时,各项出现的比率,与设置的比率是比较接近的。而运行后,完全执行完一千万次后,仍然是接近设置的比重的。所以该加权随机数的功能是正常可实现的。
    下面的是VI下载,版本为LabVIEW2019:

    加权随机数.vi (22.9 KB, 下载次数: 45, 售价: 2 元)
    演示程序.vi (14.08 KB, 下载次数: 73)

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册会员

    本版积分规则

    LabVIEW HALCON图像处理入门教程(第二版)
    石鑫华机器视觉与LabVIEW Vision图像处理PDF+视频教程11种全套
    《LabVIEW Vision函数实例详解》教程-NI Vision所有函数使用方法介绍,基于NI VISION2020,兼容VDM21/22/23/24

    QQ|石鑫华视觉论坛 |网站地图

    GMT+8, 2024-11-20 21:27

    Powered by Discuz! X3.4

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表