/usr/share/doc/ruby-gsl/examples/random/rayleigh.rb is in ruby-gsl 2.1.0.3+dfsg1-1build1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | #!/usr/bin/env ruby
require("gsl")
rng = GSL::Rng.alloc()
N = 100
XMAX = 5.0
sigma = 1.0
h = GSL::Histogram.alloc(N, 0, XMAX)
for i in 0...10000 do
x = rng.rayleigh(sigma)
h.increment(x)
end
sig, amp = h.fit_rayleigh
p sig
p amp
v = GSL::Vector.linspace(0, XMAX, N)
val = GSL::Ran::rayleigh_pdf(v, sig)
val *= amp
GSL::graph(h, [v, val], "-T X -C")
h2 = GSL::Histogram.alloc(N, 0, XMAX)
for i in 0...10000 do
x = rng.gaussian(sigma)
y = rng.gaussian(sigma)
r = Math.sqrt(x*x + y*y)
h2.increment(r)
end
sig2, amp2 = h2.fit_rayleigh
p sig2
p amp2
val2 = GSL::Ran::rayleigh_pdf(v, sig2)
val2 *= amp2
GSL::graph(h2, [v, val2], "-T X -C")
|