编写产生(0,1)上的均匀分布的伪随机数的函数

一:试验原理。

(1)产生区间(0,1)上均匀分布的伪随机数(Z ~U (0,1))。

      混合同余法:

           由递推式

           Y(1)=1;

           Y(n+1)=(314159269Y(n)+453806245)%2147483648;

           得到Y(i) 的序列。

           然后由Z(i)=Y(i)/2147483648;

           得到符合Z~ U(0,1) 分布的伪随机数


程序如下:(MATLAB语言)

           function y=diyrand(n)      %混合同余法生成(0,1)之间的随机数
            x1=1;
            z(1)=1;
            for i=1:n-1
            x2=mod(314159269*x1+453806245,2147483648);
            z(i+1)=x2;
            x1=x2;
            end
            y=z/2147483648;
           end

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值