Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
|
|
@ -0,0 +1,13 @@
|
|||
#lang racket
|
||||
(require math (planet williams/science/histogram-with-graphics))
|
||||
|
||||
(define data (sample (normal-dist 50 4) 100000))
|
||||
|
||||
(displayln (~a "Mean:\t" (mean data)))
|
||||
(displayln (~a "Stddev:\t" (stddev data)))
|
||||
(displayln (~a "Max:\t" (apply max data)))
|
||||
(displayln (~a "Min:\t" (apply min data)))
|
||||
|
||||
(define h (make-histogram-with-ranges-uniform 40 30 70))
|
||||
(for ([x data]) (histogram-increment! h x))
|
||||
(histogram-plot h "Normal distribution μ=50 σ=4")
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
#lang racket
|
||||
(require math)
|
||||
|
||||
(define random-normal
|
||||
(let ([unit (uniform-dist)]
|
||||
[next #f])
|
||||
(λ (μ σ)
|
||||
(if next
|
||||
(begin0
|
||||
(+ μ (* σ next))
|
||||
(set! next #f))
|
||||
(let loop ()
|
||||
(let* ([v1 (- (* 2.0 (sample unit)) 1.0)]
|
||||
[v2 (- (* 2.0 (sample unit)) 1.0)]
|
||||
[s (+ (sqr v1) (sqr v2))])
|
||||
(cond [(>= s 1) (loop)]
|
||||
[else (define scale (sqrt (/ (* -2.0 (log s)) s)))
|
||||
(set! next (* scale v2))
|
||||
(+ μ (* σ scale v1))])))))))
|
||||
Loading…
Add table
Add a link
Reference in a new issue