問題タブ [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.

0 投票する
2 に答える
235 参照

python - 3 次スプライン制御点の細線化 / 最小化 (「自動平滑化」)

ショートフォーム

離散 [x, y] ポイントのコレクションが与えられた場合、[x, y] ポイントを近似し、次の 2 つの制約を満たす連続関数を導出できますか。

  • これは、指定された (最大) 平均二乗誤差を満たします。
  • 制御点の数を最小限に抑えます。

?

詳細

これは実際には組み込みシステムに関する質問ですが、説明させてください。もっとうまく設計できたはずアナログ ハードウェアと接続する必要があります。しかし、いつものように、ハードウェアの欠点を修正するのは組み込みシステム エンジニアの責任です。

したがって、次の関数の正確なモデルを定式化する必要があります。 デューティサイクルとループ電流

青い点は実際の測定値から取得され、赤い線は点間の scipy の 3 次補間です。

問題は、結果として得られる 82 以上の制御点が、クライアントのちっぽけな小さなマイクロコントローラーに詰め込むにはあまりにも多くのデータを作成することです。(全データセットのサブセットを表示しています。)

私の質問は次のとおりです。スプライン制御点の数を最小限に抑え、特定の MSE 内にとどめるにはどうすればよいですか?

やる気のある人向け

上記のグラフで使用されている x 点と y 点のセットを次に示します。

ps

特に 3 次スプラインに執着しているわけではないことに注意してください。[x, y] 関数を近似するための、マイクロコントローラーで拡張するのに計算コストがかからないコンパクトな表現を受け入れます。

0 投票する
1 に答える
655 参照

gnuplot - Gnuplot で右から左の x 軸を持つプロットに「滑らかな csplines」曲線を表示する方法

この単純な自己完結型の gnuplot スクリプトがあります。

ポイントとcsplines曲線の両方が出力にうまく表示されます。

gnuplot 出力 1

xrangeしかし、行を次のように変更して x 軸の方向を逆にするとどうなるか見てみましょう。

他のすべては同じままで、csplines曲線は出力から欠落していますが、ポイントは引き続き正しく表示されます。

ここに画像の説明を入力

csplines2 番目のケースで曲線を表示するにはどうすればよいですか?
(つまり、右から左への軸)。