曲がった迷路その14 - バイキュービック補間の数学的な意味 [曲がった壁を持つ迷路の生成]
バイキュービック補間の係数をを僕なりに考えた。結果的には一般的に使われている係数を再発見することになった。
バイキュービック補間関数
補間のための関数を自分なりに考えることにしたが、なにかアイデアがあるわけではない。 シンク関数のいい近似になるような3次のベキ関数を作ってみる。前にも似たようなことをやった。
条件は
- 3次関数で補間
- [0,1)区間ではなるべくシンク関数に近い
- 区間を超えるところでは連続でかつ、1階微分可能
まず[0,1)区間でまず補間関数を
とする。 こうしておけば を自動的に満たす。つまり格子点での値とその微係数がシンク関数に一致する3次関数ということである。ひとつ残った定数c0を
なるD0を最小にするように決める。つまり最小2乗法的に係数を決めようと言うことである。 そのためには を解けばいい。結果は となる。ほんまかいな、だけどなんてMathematicaは便利なんでしょ。区間[1,2)に対しては
とすると自動的に決まってしまって、 とするしかない。ここで4つ目の条件はx≥2に対してはずっと0なのでx=2で微係数が繋がるように(0になるように)した、ということ。このせいで区間[1,2)ではシンク関数よりかなりずれるし、x=2での微係数は、シンクが1/2なので全然違う。けどまあしかたがない。局所的な操作はつなぎ目の素性が悪くなりやすいので、微係数には気をつけたほうがいい。これで区間[0,2]でシンク関数を近似する3次のベキ関数
を作ることができた。 ということで、さっきの式-31と比較するとc0がちょうど1なら完全に一致する(展開してみればわかる)。式-35とも値は近い。式-31は整係数ながら[1,2)区間ではまったく同じ、[0,1)区間では非常にいい近似になっていると言うことがわかった。みんなちゃんと考えてるのね。
2009-07-20 22:01
nice!(0)
コメント(0)
トラックバック(0)
コメント 0