我正在编写一个Java applet,我应该能够在其中模拟两台主机之间的连接。因此,我必须随机生成数据包往返时间。
这些RTT可以从~0到无穷大,但通常在某个平均值附近振荡(即,极大或极小的值非常不可能,但也可能)。我想知道有没有人知道我是怎么做到的?
提前感谢
发布于 2011-01-11 19:41:40
你必须选择一个合理的分布来提取(伪)随机值。gamma distribuition可能有一定的意义,因为它似乎可以满足您的需求。您也可以使用(left) truncated normal distribution。
Apache Commons-Math库包含用于伽马分布和正态分布(又称高斯分布)的代码。当使用正态分布RNG从截断正态分布中拾取值时,只需拒绝不需要的绘制(即,当您选取x <= 0时,再次选取)。
https://stackoverflow.com/questions/4661119
复制