V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  ukipoi  ›  全部回复第 3 页 / 共 12 页
回复总数  222
1  2  3  4  5  6  7  8  9  10 ... 12  
2020-11-16 11:25:56 +08:00
回复了 ukipoi 创建的主题 程序员 请问下,比较简单的实现 0.5 到 2 之间的随机数的方法
@exiledkingcc
但是每一个确定的 Y 出现的概率是一样的吧?
2020-11-16 11:12:29 +08:00
回复了 ukipoi 创建的主题 程序员 请问下,比较简单的实现 0.5 到 2 之间的随机数的方法
@CRVV
请教下
2^(random() * 2 - 1) 得到 0.5-0.75 的概率是比 0.75 到 1 的概率大。
但是每一个 X 都只对应一个 Y,并且这个函数是连续的。
那这个对应关系到底对不对呢?
因为每一个 Y 出现的概率都是 1/K,这个是肯定的
2020-11-16 11:02:01 +08:00
回复了 ukipoi 创建的主题 程序员 请问下,比较简单的实现 0.5 到 2 之间的随机数的方法
@exiledkingcc
请教下,为什么是不满足的?
2^(random() * 2 - 1) 这个函数图像时连续的,那应该是所有的 X 都有唯一对应的 Y,并且 所有确定的 X 都是 1/K 的概率(假设 K 是-1 到 1 的所有数的总量)。那所有的 Y 也是 1/K 的概率,[0.5,1)和(1,2]的概率也是一样,那范围内的所有数都在了
abs(random() * 2 - 0.5) + 0.5 的话,有些 Y 对应了两个 X,这个意思是一样的么?
2020-11-13 17:22:58 +08:00
回复了 ukipoi 创建的主题 程序员 请问下,比较简单的实现 0.5 到 2 之间的随机数的方法
@lllllliu
对的对的,因为我的前提就是概率相等,应当从[0-0.5) 和 (0.5-1]推导到 [0.5-1]和[1-2]
我这个算是弄反了?
2020-11-13 17:19:54 +08:00
回复了 ukipoi 创建的主题 程序员 请问下,比较简单的实现 0.5 到 2 之间的随机数的方法
@ukipoi
或许也可能计算机有 [0.5,1)和(1,2]的概率是相等 办法我不知道?
2020-11-13 17:18:00 +08:00
回复了 ukipoi 创建的主题 程序员 请问下,比较简单的实现 0.5 到 2 之间的随机数的方法
@lllllliu
因为计算机里不存在无穷大,所以我觉得不能直接的认为[0.5,1)和(1,2]里包含的数是相等的
那就不能认为 random 出来的结果,[0.5,1)和(1,2]的概率是相等的
2020-11-13 17:04:34 +08:00
回复了 ukipoi 创建的主题 程序员 请问下,比较简单的实现 0.5 到 2 之间的随机数的方法
@reus
我想问的其实不是说 把这个分段函数以一行公式表达出来。
而是一个新的思路,向 45 楼我说的那样。
感觉是我的标题误导了。我的问题其实是在第一行。
2020-11-13 17:02:15 +08:00
回复了 ukipoi 创建的主题 程序员 请问下,比较简单的实现 0.5 到 2 之间的随机数的方法
@ukipoi
主要是思路明显就不一样
我要的结果不一定是他们的结果
我就想要一种新的思路
“要扩大或者缩小 N 倍 ,其中 1<N<=2,那在数学中的表述就是乘以一个 [0.5-2]的数值把”
我是这么理解的,既然[0.5-1)表示缩小,(1-2]表示扩大。他们在逻辑中没有问题,但是比较反常理。
我就认为数学中一定有一个合理的解释,但是仅仅以无穷的数来解释我感觉很单调。
那一定有一个让人一眼看到就很合理的解释
2020-11-13 16:57:44 +08:00
回复了 ukipoi 创建的主题 程序员 请问下,比较简单的实现 0.5 到 2 之间的随机数的方法
@wlsnx
稍微有点不一样,else 后面是 return n*(rand*0.5+0.5)
不过大致上这样实现的,我自己就是这样写的。
我想问的其实是像 34 36 楼这样的解法
2020-11-13 16:44:32 +08:00
回复了 ukipoi 创建的主题 程序员 请问下,比较简单的实现 0.5 到 2 之间的随机数的方法
@hitmanx
谢谢解答
2020-11-13 16:43:25 +08:00
回复了 ukipoi 创建的主题 程序员 请问下,比较简单的实现 0.5 到 2 之间的随机数的方法
@x4400177
问题是,我要扩大或者缩小 N 倍 ,其中 1<N<=2
那在数学中的表述就是乘以一个 [0.5-2]的数值把。
我认为扩大和缩小,应该是有一个概率是一样的。
所以[0.5-1 )和( 1-2]也应该是一样的
2020-11-13 15:56:33 +08:00
回复了 ukipoi 创建的主题 程序员 请问下,比较简单的实现 0.5 到 2 之间的随机数的方法
@nightwitch
我应该是写了的 [要求就是 扩大一倍或者缩小一倍,两边的概率相同。] 可能表达的不太清楚
2020-11-13 15:44:49 +08:00
回复了 ukipoi 创建的主题 程序员 请问下,比较简单的实现 0.5 到 2 之间的随机数的方法
@anzu
但是原先 0-0.5 和 0.5-1 这两个区间的数是一样多的
乘以 1.5 后 应当是 0-0.75 和 0.75-1.5 这两个区间的数是一样多的
加上 0.5 后 应当是 0.5-1.25 和 1.25-2 这两个区间的数是一样多的
我的要求是 0.5-1 和 1-2 这两个区间 数一样多
2020-11-13 15:20:42 +08:00
回复了 ukipoi 创建的主题 程序员 请问下,比较简单的实现 0.5 到 2 之间的随机数的方法
@ipwx
我也是这个想法,但是不知道有没有其他解
2020-11-13 15:19:42 +08:00
回复了 ukipoi 创建的主题 程序员 请问下,比较简单的实现 0.5 到 2 之间的随机数的方法
@ukipoi
不对, (1-4)/2 的区间是 0.5-1.25 我被自己绕晕了 ;;
2020-11-13 15:16:18 +08:00
回复了 ukipoi 创建的主题 程序员 请问下,比较简单的实现 0.5 到 2 之间的随机数的方法
@ukipoi
应该是 ((int)((Math.random()*3+1)*5))/10
2020-11-13 15:14:39 +08:00
回复了 ukipoi 创建的主题 程序员 请问下,比较简单的实现 0.5 到 2 之间的随机数的方法
@rioshikelong121
因为本来是 扩大或者缩小 1.1 1.2 1.3 - 2.0 倍
请问 ((int)((Math.random()*3+1)*5)/10) 能不能满足要求呢?
2020-11-13 15:12:06 +08:00
回复了 ukipoi 创建的主题 程序员 请问下,比较简单的实现 0.5 到 2 之间的随机数的方法
@rioshikelong121
嗯,应该是我想的有问题。
下意识的以为 0.5-1.5 里包含的数比 0-0.5 包含的数多了
2020-11-13 15:02:05 +08:00
回复了 ukipoi 创建的主题 程序员 请问下,比较简单的实现 0.5 到 2 之间的随机数的方法
@yukiww233
这样子随机 0.5-1.5 全是扩大的
只有 0-0.5 才是缩小的
概率不一样吧?
2020-11-13 14:58:44 +08:00
回复了 ukipoi 创建的主题 程序员 请问下,比较简单的实现 0.5 到 2 之间的随机数的方法
@huijiewei
这样 0.5-1 和 1-2 的概率不一样
1  2  3  4  5  6  7  8  9  10 ... 12  
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   2191 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 13ms · UTC 01:07 · PVG 09:07 · LAX 17:07 · JFK 20:07
♥ Do have faith in what you're doing.