当前位置:   article > 正文

均匀分布的随机数---C66x_c语言 平均分布的随机数

c语言 平均分布的随机数

随机数的产生,是仿真不可缺少的函数,本节是对均匀分布的随机数据进行说明。

通过混合同余法产生均匀分布的随机函数。

x_{i}=\left ( a*{x_{i-1}}+c\right )\left ( mod M \right )

y_{i} = x_{i} / M

a = 2045, c=1, M=2^{20}.

x_{i-1}是随机数的种子(seed),y_{i}表示输出,生成的随机数输出。

1. C 语言的直接实现

  1. double uniform (double in_a, double in_b, int *seed)
  2. {
  3. const int a = 2045;
  4. const int c = 1;
  5. const int M = pow(2, 20);
  6. double t;
  7. *seed = a*(*seed)+c;
  8. *seed = *seed - (*seed/M)*M;
  9. t = *seed/M;
  10. t = in_a + (in_a-in_b)*t;
  11. return t;
  12. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/83988
推荐阅读
相关标签
  

闽ICP备14008679号