タグ

ブックマーク / hooktail.org (1)

  • Ruby実用例 〜スプライン補間〜 - [物理のかぎしっぽ]

    飛び飛びの点を滑らかにつなぐ「3次スプライン補完」という方法があります.ここでは非周期関数用のスプライン補完を取り上げます. コード † ↑ spline.rb † class Spline # 初期化.3次スプライン補間曲線を求める def initialize(x, y) @x = x @y = y @z = [] n = @x.length h = [] d = [] @z[0] = @z[n-1] = 0 for i in 0...n-1 h[i ] = @x[i+1] - @x[i] d[i+1] = (@y[i+1] - @y[i]) / h[i] end @z[1] = d[2] - d[1] - h[0] * @z[0] d[1] = 2 * (@x[2] - @x[0]) for i in 1...n-2 t = h[i] / d[i] @z[i+1] = d[i+2]

  • 1