問題タブ [cubic-spline]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
matlab - Matlab のクランプされた 3 次スプライン コードについて
私はプログラムを実行しましたが、何らかの理由でそれは間違い ( c = tridiagonal ( hi(1:n-1), dd, hi(1:n-1), ri );
) であり、理由がわかりません。正しいと確信しているので、誰か助けてください。コードは次のとおりです。
三重対角コード (エラー: w = a(i) - b(i)*v(i-1); )
scipy - 3次スプラインに適合するさまざまなpython関数、係数の検索
Python で 3 次スプラインをノイズの多い x、y データに当てはめ、各区間のスプライン係数を抽出したい (つまり、各区間で 4 つのスプライン係数を取得することが期待される)
これまでのところ、私は試しました(すべてscipy.interpolateから):
1) CubicSpline ですが、この方法ではスプラインを滑らかにすることができず、非現実的で不安定な係数データが生成されます。
2) splrep と splev の組み合わせ。
ここで、次を使用して係数/ノットを抽出します
ただし、平滑化パラメーター s を非常に大きな数値に増やしても、x 範囲全体で滑らかな係数を見つけることができません (0 に近い値と 1e23 の間でジャンプします。これは非物理的です)。ノット数は s とともに減少します。適切なパラメータ s とノット数を同時に見つけることができないようです。
3) UnivariateSpline(x, y, k=3, s=0.03) を使用しました。ここでは、s の変更に対する感度が高いことがわかりましたが、対応する get_coeffs() メソッドは、各間隔に対して 4 つの係数を提供するのではなく、1 つのみを提供します。理解していない。
4) 3 次多項式を使用した区分的リッジ型線形回帰も試しましたが、この方法ではフィットのパーセンテージ エラーが大きすぎるため、標準のスプライン法の 1 つを機能させることができれば素晴らしいと思います。
私は何が欠けていますか?誰か助けてくれませんか?