• ベストアンサー

擬似的な補間曲線の式を作りたい

(x,y)=(a,b)、(c,d)、(e,f)、(g,h)、(i,j) という測定結果が与えられていて、 それぞれの点を補間曲線のようにスムースにつなげたいのですが、 擬似的に四則演算・累乗の演算子とSIN・COS・TAN・log・πのみを使い どうにかシンプルに1つの関数で表せないでしょうか? ちなみにxは時間でyは距離で速さを求める式を作りたいです。 最小二乗法等を使うと爆発的な長さの式になり、とてもじゃないですが実用的ではありません。 どなたか分かる方いらっしゃいましたらご教授・アドバイス等よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
noname#152422
noname#152422
回答No.1

単にそれら5点を手っ取り早くつなげるだけなら、例えば以下の方法はどうでしょう。 > (x,y)=(a,b)、(c,d)、(e,f)、(g,h)、(i,j) 説明の都合上、(x,y)=(a_1,b_1),…(a_5,b_5)と書き直します。 Aを、(i,j)成分が(a_i)^(5-j)であるような5×5行列 bを、第k成分がb_kとなるような縦ベクトル cを、第k成分がc_kとなるような縦ベクトル として、もしAが可逆の場合、 b=Ac、つまりc=(A^(-1))bによりcを定めれば、 y=(c_1)x^4+…+(c_4)x+(c_5)というxの4次式は与えられた5点を通ります。 もちろんこれがあなたの期待する「実用的」なものかどうかは全くわかりません。

blue_notes
質問者

お礼

ご回答頂きありがとうございます。 せっかく有効そうな解法を教えて頂いたのに、 私がアホ過ぎてご回答の内容の意味が分かりません・・・(;∀; ) ちょっと行列勉強してきます・・・。 ちなみに実用的とはプログラムで0.01秒未満で解を出せるかというレベルです。

その他の回答 (1)

  • info22_
  • ベストアンサー率67% (2650/3922)
回答No.2

5点を通る曲線なら4次多項式の曲線の方程式  y=ax^4+bx^3+cx^2+dx+e に5点の座標を代入してできる5式からなる連立方程式をといて、係数(a,b,c,d,e)を求めれば、5点を通る1つの4次関数の曲線が得られます。 5点の配置によってはグラフが波打って、都合の良い補間が出来る保証はないです。 最小二乗法の場合は必ずしも5点を通る保証はありません。 3次のスプライン曲線の補間法は5点を通り5点間を滑らかに結ぶ3次曲線で理想的な補間ができますが、3次の補間曲線が2本になります。 参考URL参照。エクセルを用いれば簡単にスプライン補間曲線が得られます。

参考URL:
http://homepage1.nifty.com/gfk/Spline.htm
blue_notes
質問者

お礼

ご回答頂きありがとうございます。 連立方程式であれば手計算で解けるんですが、 プログラムで連続して値を出さなければならないので、 なるべく1行で収まる関数が必要なわけです。 ちなみに3次スプラインはそもそも式の理屈自体分からないです・・・。

関連するQ&A