サブロウ丸

主にプログラミングと数学

【Matlab】 有理スプライン補間

有理スプライン補間Matlabで実装してみました。
有理スプライン補間とは3次スプライン補間の3次の項を双曲線関数に置き換えたものです。

有理スプラインはパラーメータをうまく調節することで、
3次スプライン補間(参考: 3 次スプライン データ内挿 - MATLAB spline - MathWorks 日本)よりも振動を抑えた補間ができるのが特徴です。
下のソースコード21行目のpがそのパラメータなのですが、
なかなかうまく調節するのが難しく、下手だとむしろ3次スプラインよりも振動してしまう結果に。
自動的にパラメータを調節してくれるような仕組みがあればなぁ。。

有理スプライン f:id:inarizuuuushi:20170912153742p:plain
3次スプライン f:id:inarizuuuushi:20170912153801p:plain
緑色で塗りつぶされた点が標本点です。

理論

f:id:inarizuuuushi:20170912153244p:plain:w700

f:id:inarizuuuushi:20170912153258p:plain:w700



C_k, D_kの導出に関する補足。
f:id:inarizuuuushi:20170918110512p:plain:w700

ソースコード