0

私が持っているいくつかのサンプルデータに関数を当てはめようとしています。私は GSL 内の線形フィッティングの例を数多く理解し、見てきましたが、フィッティングする必要がある関数は次の形式です。

x_i = c_0 + c_1*t_i

for i < 任意の数 (T)

x_i = c_0 + c_1*t_i + c_2*(T-t_i)

i >= T の場合。

これを視覚化するために、これは T によって指定されたある時点で中断された線 (有限の長さ) です。GSL でこれを実装する方法を理解しようとしていますが、構文がわかりません。 2 つの方程式にフィッティングし、異なる範囲の値で両方の方程式をフィッティングします。私の数学はそれほど強力ではなく、GSL のドキュメントは少し複雑です。

あるいは、GSL がこれを行うことができない場合、それが可能な他の C/C++ ライブラリはありますか?

編集:これは実際には、壊れたスティックの前半を通常の線形方法でフィッティングし、次に後半をフィッティングすることと同等であると思います(既知の c_0 と c_1 を使用し、c_2 にフィッティングします)。その方法もまだわかりませんが、これが可能な解決策であれば、私がやっていることは受け入れられるかもしれないと思います。ただし、スティックをブレークするのに最適な T を特定する方法が必要ですが、これは絶対に必要というわけではありません。

4

1 に答える 1

0

解決しました!

2 次元 (つまり 3 ノット) の平滑化 B スプラインを作成するのと同じくらい簡単であることがわかりました。これは、GSL がまだ線形時間内で行っていると私は信じています。

于 2013-01-08T12:13:42.367 に答える