资源预览内容
第1页 / 共3页
第2页 / 共3页
第3页 / 共3页
亲,该文档总共3页全部预览完了,如果喜欢就下载吧!
资源描述
=RAND()*0.08-0.04=(RAND()-0.5)/50*4假设数在A1,则 =$A$1+(RAND()-RAND()*0.6往下拉 ,就会求出A1在 0.60.6范围的随即数 。rand()*m+nm表示随机数的范围.比如0到100的,m=1001楼的m=0.08n表示随机数的下限,可以是负数.1楼的n=-0.04根据需要还可以嵌套四舍五入的函数.区间是否包含正负0.04?我给出的公式为闭区间.包含正负0.04如果不包含,该怎么做?这样做等于是 rand() * 4/50 - 0.5*4 /50 = rand()*0.08 - 0.04没啥不同啊, 还更复杂了 本帖最后由 灰袍法师 于 2009-3-3 17:17 编辑 这个做法是错误的, 这等于说 rand()-rand() 可以生成均匀的 -1到1的随机数假设我要得到 0.5 的概率, 显然此概率应该是 25%rand() - rand() 的概率是 第一个rand() 必须在0.5到1, 即0.75加减0.25 之间, 且 第二个rand() 必须在0到0.5, 即0.25加减0.25 的范围, 这个概率也有 25%但是第一个rand()取 0.75减0.25的时候, 第二个rand()只能取 0.25减0.25 第一个rand()取 0.75加0.25的时候, 第二个rand()只能取 0.25加0.25 所以 rand()-rand() 大于0.5的概率只有12.5%不信可以用随机试验验证.实际上, 大家最好牢牢记住, 生成 某一范围的随机数的正确方法, 就是rand()*( 上限 - 下限 ) + 下限(上限,下限可以是任意实数, 上限大于下限)不要别出心裁了, 很容易犯错还看不出来的.
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号