新闻资讯

视觉案例

当前位置:华视 > 新闻资讯 > 技术文章 >

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:请到以下视觉论坛链接下载

LabVIEW实现加权随机数_LabVIEW_图像处理|编程|机器视觉_视觉论坛VISIONBBS_视觉之家VISIONHOME_机器视觉光源_光源控制器_工业相机_工业镜头_机器视觉方案系统_图像处理教程_石鑫华视觉网_东莞市华动智能科技有限公司
http://visionbbs.com/thread-22721-1-1.html