Sha256: f8462f5904d48c3b486434a4e973737795be004c07823987671202996338b8a8

Contents?: true

Size: 866 Bytes

Versions: 16

Compression:

Stored size: 866 Bytes

Contents

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

n = 10
xa = Vector[n]
ya = Vector[n]
for i in 0...n do
  a = i.to_f
  xa[i] = i + 0.5*sin(a)
  ya[i] = i + cos(a*a)
end

def spline_compare(type, xa, ya, filename)
  n = xa.size
  spline = Spline.alloc(type, xa, ya)
  p spline.name

  xi = xa[0]
  File.open(filename, "w") do |file|
    while xi < xa[n-1]
      yi = spline.eval(xi)
      file.printf("%e %e\n", xi, yi)
      xi += 0.01
    end
  end
end

types = ["linear", "polynomial", "cspline", "cspline_periodic", 
         "akima", "akima_periodic"]
         
types.each do |t|
  filename = t + ".dat"
  spline_compare(t, xa, ya, filename)
end

#puts("6 interpolation types are examined.")
#puts("Try \"gnuplot -persist spline-compare.gp\"")
system("gnuplot -persist demo.gp")

types.each do |t|
  filename = t + ".dat"
  File.delete(filename)
end

Version data entries

16 entries across 16 versions & 4 rubygems

Version Path
rb-gsl-1.16.0.4 examples/interp/demo.rb
rb-gsl-1.16.0.3 examples/interp/demo.rb
rb-gsl-1.16.0.3.rc1 examples/interp/demo.rb
gsl-nmatrix-1.15.3.2 examples/interp/demo.rb
gsl-nmatrix-1.15.3.1 examples/interp/demo.rb
rb-gsl-1.16.0.2 examples/interp/demo.rb
rb-gsl-1.16.0.1 examples/interp/demo.rb
rb-gsl-1.16.0 examples/interp/demo.rb
rb-gsl-1.15.3.2 examples/interp/demo.rb
rb-gsl-1.15.3.1 examples/interp/demo.rb
blackwinter-gsl-1.15.3.2 examples/interp/demo.rb
gsl-nmatrix-1.15.3.0 examples/interp/demo.rb
gsl-1.15.3 examples/interp/demo.rb
gsl-1.14.7 examples/interp/demo.rb
gsl-1.14.6 examples/interp/demo.rb
gsl-1.14.5 examples/interp/demo.rb