0

重複の可能性:
配列(または2つ)の補間

2D関数のポイントを含むCSVファイルのセットがあります...言い換えると、4つのCSVファイルがあり、それぞれが異なるy値で関数f(x、y)を評価した結果です。特定のxとyに対して任意のfを計算できるように、これらのデータ間を補間する必要があります。CSVファイルの長さとx値はさまざまです。このタスクのためのJavaのライブラリまたはアルゴリズムを知っている人はいますか?スプライン補間と同様に、線形補間でも問題ありません。

ありがとう、
タクトア

4

3 に答える 3

1

最も簡単な関数は、最も近い点を見つけて線形補間を使用することです。たとえば、3つの最も近いポイントから2つを選択し、それらを補間します。

または、距離に基づいて加重平均を取ることができます。または、最も近いポイントを選択してから、最も近いポイントの「反対側」にあるポイントを見つけて、補間を改善することもできます。

于 2012-08-13T19:16:37.803 に答える
1

さて、まず、「CSV」ビットは無関係だと思います。それらをメモリに読み込んでマージしたとしましょう(同じ関数の値ですよね?)。f(x,y)これで、異なるペアの値の単一のセットがあり(x,y)、それらの間を補間したいと思います。これまでのところ元気ですか?

線形補間に固執する場合でも、考慮すべきポイントの数の問題があります。これは、測定のノイズのレベルによって異なります。最も単純なケースでは、最も近い3つのポイントだけを使用して、それらが存在する平面を識別し、それを使用して問題のポイントの値を見つけます。このオプションでは、ベクトルの加算、減算、外積、内積を除いて、ライブラリもアルゴリズムも必要ありません。

より洗練されたソリューションでは、一般に、ある種のフィッティング、たとえば(加重)最小二乗法が必要になります。

于 2012-08-13T19:55:16.307 に答える
0

ラグランジュ補間は単純で正確です。

于 2012-08-14T01:57:15.937 に答える