1

MATLABの関数を使用してinterp1、信号内の欠落データを補間していますが、魅力的に機能します。ただし、機能がどのように機能するかを知りたいです。

interp1関数を使用する関数 のコードを確認しましたspline。関数のコードはspline私には理解するのが非常に難しいので、ググってウィキペディアで検索しましたが、(一般的に)どのように機能するか、自由度がどのように機能するか、関数がどのように多項式 (通常は 3 次) を使用するかを知っています。曲線の欠落部分を生成します。

20 個の数字の配列があり、8 ~ 12 が欠落している場合 (ゼロ):

4 5 2 3 5 4 3 0 0 0 0 0 4 5 2 4 3 5 4 3

関数は、どの数字がそこに収まるかをどのように判断しますか? [1-5]、[2-6]、[3-7] などの処理のように、データの上を移動する一定の幅のウィンドウですか? それとも、欠落データの左右にある 2 つまたは 3 つの数字を使用しますか?

私は数学的な説明を探しているのではなく、魔法がどのように機能するかを知りたいだけです:)

4

1 に答える 1

2

これがあなたの質問に答えられるかどうかはまだわかりませんが、試してみます。

できるだけ明確で理解しやすいように努めますので、簡単にするために一部の (おそらく重要な) 詳細を意図的に除外する場合があります。

解析式を知らなくても、点の集合における関数の値を知っていることがあります。セットにない点で関数の値を知るタスクは、内挿/外挿と呼ばれます。内挿の基本原理は、最近傍点での値から目的の点での関数の値を計算することです。

考えられる最も簡単な方法は、線形補間です。特定のポイントでの未知の関数の値は、最も近い隣接値の距離加重平均です。これは単純に、対象の点が点 A から距離 1、点 B から距離 9 にある場合、この点での関数の値は B の 10 % と A の 90 % になることを意味します。これは、各点の間に直線を引くことに相当します。関数の値を知っている場所。

この方法の問題点は、関数の推定が不連続になることです。自然現象を記述する関数をモデル化する場合、これらの関数は連続していることが多いため、これは面倒です。

他の補間方法の中でも、3 次スプライン補間はこの問題を解決できます。原理は同じですが、各ポイント間に線を引く代わりに 3 次多項式を使用する点が異なります。多項式に対するいくつかの制約により、それは一意になります。つまり、その 1 次導関数と 2 次導関数は、隣接する多項式と連続している必要があります。これにより、補間された関数の「滑らかさ」が保証されます。

したがって、私にとって、3 次スプライン補間の「魔法」は、このメソッドが自然現象を記述する関数を正しく補間できるようにする「滑らかさ」の仮定から来ています。

この回答が役に立たない、または単純すぎる場合は削除します。

于 2011-10-27T15:28:51.680 に答える