在vfp中,怎么产生真正的随机数?

在vfp中,怎么产生真正的随机数?,第1张

这里提供2种方法供你参考,其实原理都是每次让rand函数种子值变化雀早。

方法一:显示1 到 10 之间的一个随机数:这是VFP帮助文谈配档中的,有空应该多看看帮助。

CLEAR

LIST &&显示值

gnMaximum = 1 &&初始化最小值

gnMinimum = 100 &&初始化最顷侍雀大值

SCAN

gnMinimum = MIN(gnMinimum, cValue)

gnMaximum = MAX(gnMaximum, cValue)

ENDSCAN

? '最小值是: ', gnMinimum &&显示最小值

? '最大值是: ', gnMaximum &&显示最大值

CLEAR

gnLower = 1

gnUpper = 10

? INT((gnUpper - gnLower + 1) * RAND() + gnLower)

方法二:

建立一个资源表,然后从资源表中选rand函数的种子产生随便机数,用过的资源就删除。

rand()函数生成0-1的随机数, 要生成1-100的,需要处理下

clear

s=0

??'伍衫核十个随机1-100的正整数为:'

for i=1 to 10

n=int(rand()*(100-1+1)+1)

??n

s=s+n

endfor

?'它们的和为腔掘:',s

扩展塌租资料:

以0为界限,将整数分为三大类:

1、正整数,即大于0的整数,如,1,2,3…

2、 0既不是正整数,也不是负整数(0是整数)。

3、负整数,即小于0的整数,如,-1,-2,-3…

参考资料来源:百度百科-正整数

1、产生符合正态分布的随机数:输入“=

NORMINV(RAND(),mean,standard_dav)”,mean是均值,standard_dav是标准方差。

2、下拉的方式产生需要数目的随机数,全选,复制,再右键点“选择性粘瞎宴贴”,选“数值”(这样做的目的是为了将公式形式去掉,不然它会再次产生新的随机数,而你被蒙在鼓里),然后排序宽渣。

3、另起一栏,输入“=NORMDIST(X,mean,stardard_dav,false)”,X是刚才输入的随机数所在位置,产生概率后,下拉,得到需慎神悄要的全部随机数对应的概率,然后就可以作出我们熟悉的正态分布曲线了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12497579.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存