質問: 平面上の点が単一値でない場合、それらの点にどのように曲線を当てはめますか?
示されている例では、ノイズの多い青色のデータに (黒い曲線のような) 曲線をどのように当てはめますか? スプライン平滑化と似ていますが、データの順番がわかりません。
Matlab が推奨されますが、疑似コードでも問題ありません。または、この問題の正しい用語が何であるかへのポインタは素晴らしいでしょう.
ありがとう
質問: 平面上の点が単一値でない場合、それらの点にどのように曲線を当てはめますか?
示されている例では、ノイズの多い青色のデータに (黒い曲線のような) 曲線をどのように当てはめますか? スプライン平滑化と似ていますが、データの順番がわかりません。
Matlab が推奨されますが、疑似コードでも問題ありません。または、この問題の正しい用語が何であるかへのポインタは素晴らしいでしょう.
ありがとう
データは、基礎となるパラメータの関数としての2次元パラメトリックプロットのように見えます。そのため、最小二乗近似を行うことが可能であり、それらの妥当なモデルを考え出すことができれば可能です。あなたのデータはリマコンを説明しているようです。(x,y)
t
x(t)
y(t)
編集:nvmは質問を誤って解釈しました。とにかくこの答えはここに残しておきます。
たぶん、最初に点の凸包を見つけてから、平野に凸包を合わせてみてください
http://www.cse.unsw.edu.au/~lambert/java/3d/giftwrap.html<-実装のJavaアニメーションを含む http://en.wikipedia.org/wiki/Convex_hull_algorithms
効率を望まない場合は、O(n ^ 2) http://en.wikipedia.org/wiki/Gift_wrapping_algorithmであるギフトラッピングバージョンのような非常に単純な実装がいくつかあります。
分割統治法はO(nlogn)です
ポイントの順序を推測してから、スプライン プロシージャを適用することができます。もちろん、曲線が交差する場所にはあいまいさがあります。
おそらく最も素朴なアプローチは、ドローネ三角形分割 (nlogn 時間) を計算することであり、そこから点を通るユークリッド最小距離ハミルトニアン サイクルを概算します。「終わり」がどこにあるかを把握する必要があります。順序付けから、スプライン手法を適用できます。参照については、Finding Hamiltonian Cycles in Delaunay Triangulations Is NP-Complete、または TSP ヒューリスティックに関する Reinelt の論文、1992 年、またはウィキペディアの EMST を参照してください。
h番目、
この問題は、順序付けがないと非常に難しいです。いくつかの(x(t), y(t)) に対して最小二乗法を実行するのは簡単です - tの順序を知っていると仮定します。
おそらく、ある種の検索アルゴリズムが必要になるでしょう。遺伝的アルゴリズムは大丈夫かもしれません。
複数の区分フィッティングまたはスプラインを実行する必要があります。アルゴリズムが一度にすべてを実行できるとは思わないでください。少なくとも 3 つのカーブがある可能性があります。交差点までの最初のカーブ、ループ、交差点から戻るカーブです。