石鑫华视觉 发表于 2020-1-17 10:42:39

LabVIEW实现加权随机数

LabVIEW实现加权随机数

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

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

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

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




xiapple 发表于 2021-5-1 20:37:37

学习~~~~~~~~~~~~~~~~~~~~~~~
页: [1]
查看完整版本: LabVIEW实现加权随机数

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