Skip to content

Categories:

自然之码 – 随机数

http://wiki.scile.cn/index.php/随机数

Posted in index.


4 Responses

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.

  1. dageno says

    HI~我對這篇文章很有興趣,
    我用AS3實現了這一章裡的函式
    唯獨 正態分佈這個…請指點迷淨QQ

  2. Scile says

    正态分布的随机数的算法实现是比较复杂的。processing因为已经在内部实现了,所以算法在文章中就没有介绍。flash中可以近似的模拟这一函数,下面是参考了C的算法写的正态随机数生成函数:
    function gaussrand(mu:Number = 0, sigma:Number = 1):Number{
    var r1:int = Math.random();
    var r2:int = Math.random();
    return (Math.sqrt( -2 * Math.log(r1)) * Math.cos(2 * Math.PI * r2) * sigma + mu);
    }

  3. dageno says

    恩 我試過這個程序了
    var r1:int = Math.random();
    要改成 var r1:Number = Math.random();
    ~Box-Muller方法是以兩組獨立的隨機數U和V
    我輸出觀看正態分怖,值會小於-1或大於1耶
    還是我的觀念錯了?
    u為期望,a為方差~我輸入u為0, a為1
    我覺得值應該是會在-1~1之間才對

  4. Scile says

    gaussrand(mu:Number = 0, sigma:Number = 1) 表示期望为0,方差为1,这个函数能让你得到的结果向期望靠近,也就是说出现0的概率比较大,方差为1表示结果靠近期望的密度。并不代表结果应该在-1和1之间,理论上-100或者100以上的数都有可能出现,只不过其概率非常非常非常低。



Some HTML is OK

or, reply to this post via trackback.