如何在RAND函数中获得较小的规模
how can I get smaller scale in RAND function
我使用此代码创建0到1之间的随机数。
randnumber = (double)((double)rand() / (double)RAND_MAX);
这行代码经常给我一些数字,比如0.650434、0.302340和0.906789,这些对我来说都是大数字。问题是我需要更小范围的数字,比如这些数字:0.000200、0.000100、0.000400、0.000600等等。如何修改这行代码以获得结果?
你知道你在寻找什么样的概率分布函数吗?如果你仍然想要均匀,你可以简单地将[0,1)结果除以一个大数字,然后应用一个移位,使其以你想要的值为中心。
如果你想要正态分布的东西,你可以使用类似逆变换的方法。同样,您需要将其居中并修改标准偏差。也有类似的转换
这会给出介于1和100之间的随机数
int randInt= (rand()%100)+1;
所以把它分开,得到你想要的范围
double yourRange=(double)randInt/100000;
相关文章:
- C++使用 rand 定义函数语法
- rand()函数在特定问题中的工作
- 如何生成比用户使用 rand() 函数输入的数字大 5-10% 的数字?
- rand()/RAND_MAX 函数每次打印 1
- 在C++中使用 rand() 函数的替代方案
- 如何使用三个参数化构造函数的rand()函数初始化对象的数组
- 为什么循环只在 c++ 中使用 rand() 函数时才运行 1 或 2 次
- rand() 函数通过升序到前一个数字来生成下一个数字
- 如何在C++中限制rand函数生成的数字
- 如何在RAND函数中获得较小的规模
- 如何从 rand() 函数的范围中省略一些数字?
- c++超快的线程安全rand函数
- c++中关于rand()函数的混淆
- 学习rand()函数
- 自定义rand()函数返回相同的值
- 了解Visual C++的 rand() 函数的算法
- c++ Rand函数错误
- 为什么c++ stdlib rand()函数在不同平台上对相同的种子给出不同的值?
- rand()函数不能与文件I/O一起工作
- 为什么c++中的rand()函数不是真正随机的