Sha256: 3c64ac9fbc672a917350c15b61f427530f10a07af229cfd9f27cabd1268163dd

Contents?: true

Size: 940 Bytes

Versions: 22

Compression:

Stored size: 940 Bytes

Contents

#!/usr/bin/env ruby
require("gsl")
include GSL::MultiFit

N = 100

y0 = 1
m = 2.0
xhalf = 5
rr = 4

r = GSL::Rng.alloc()
x = GSL::Vector.linspace(0.001, 10, N)
y =  y0 + (m-y0)/(1.0 + GSL::pow(xhalf/x, rr)) + 0.02*r.gaussian(1, N)

coef, err, chi2, dof = GSL::MultiFit::FdfSolver.fit(x, y, "hill")
y0 = coef[0]
m = coef[1]
xhalf = coef[2]
rr = coef[3]
p coef
p err
GSL::graph(x, y, y0+(m-y0)/(1+GSL::pow(xhalf/x, rr)))

=begin
Result:
GSL::Vector
[ 9.959e-01 1.995e+00 4.936e+00 4.035e+00 ]
GSL::Vector
[ 4.676e-03 1.035e-02 3.779e-02 1.125e-01 ]

GNUPLOT result:
Final set of parameters            Asymptotic Standard Error
=======================            ==========================

y0              = 0.995858         +/- 0.004676     (0.4695%)
m               = 1.99465          +/- 0.01034      (0.5184%)
xhalf           = 4.93605          +/- 0.0378       (0.7658%)
r               = 4.0346           +/- 0.1124       (2.787%)
=end

Version data entries

22 entries across 22 versions & 4 rubygems

Version Path
gsl-2.1.0.3 examples/fit/hillfit.rb
gsl-2.1.0.2 examples/fit/hillfit.rb
gsl-2.1.0.1 examples/fit/hillfit.rb
gsl-2.1.0 examples/fit/hillfit.rb
gsl-1.16.0.6 examples/fit/hillfit.rb
rb-gsl-1.16.0.5 examples/fit/hillfit.rb
rb-gsl-1.16.0.4 examples/fit/hillfit.rb
rb-gsl-1.16.0.3 examples/fit/hillfit.rb
rb-gsl-1.16.0.3.rc1 examples/fit/hillfit.rb
gsl-nmatrix-1.15.3.2 examples/fit/hillfit.rb
gsl-nmatrix-1.15.3.1 examples/fit/hillfit.rb
rb-gsl-1.16.0.2 examples/fit/hillfit.rb
rb-gsl-1.16.0.1 examples/fit/hillfit.rb
rb-gsl-1.16.0 examples/fit/hillfit.rb
rb-gsl-1.15.3.2 examples/fit/hillfit.rb
rb-gsl-1.15.3.1 examples/fit/hillfit.rb
blackwinter-gsl-1.15.3.2 examples/fit/hillfit.rb
gsl-nmatrix-1.15.3.0 examples/fit/hillfit.rb
gsl-1.15.3 examples/fit/hillfit.rb
gsl-1.14.7 examples/fit/hillfit.rb