TA的每日心情 | 开心 昨天 21:00 |
---|
签到天数: 3412 天 连续签到: 14 天 [LV.Master]2000FPS
|
发表于 2020-1-17 10:42:39
|
显示全部楼层
|阅读模式
来自:广东省东莞市 电信
注册登陆后可查看附件和大图,以及购买相关内容
您需要 登录 才可以下载或查看,没有账号?注册会员
x
LabVIEW实现加权随机数
LabVIEW中只有一个0-1的DBL类型的随机数函数,在后面的新版本中,如LabVIEW2019,则还添加了一个任一范围内的多态随机数(可以是U64、I64、DBL三种数据类型)。但是目前为止还没有添加一个加权随机数的函数。而加权随机数在实际情况中,还是比较常见的。如年终晚会上的抽奖暗箱操作,那就可以针对性的对某些人中奖概率提高。又或者是期望某些类型的数据出现的比率高,而另外一些数据出现的频率低,这个时候就需要用到加权随机数的概念了。加权随机数,并不是说生成的随机数本身是加权的,当然一定要这样,也是可以的,但数本身作为选项(整数可实现,如果是小数,那基本上不可罗列)。但是通常来说,是针对一组有限的数据集中所有项的出现频率做出一定的加权控制。而且加权控制时,一般来说项不会太多,如果项太多,那可能要设置很多参数。当然我们可以添加很多项,默认都是1的权重,只是少部分内容增加权重,但是设置参数仍然是一个繁琐的过程。
下面可以看一下加权随机数的演示实例效果:
LabVIEW实现加权随机数
使用For循环调用加权随机数运行一千万次运行中
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)
|
|