0

大きな配列の 2 つのセットがあります (ここではそれらを短縮しています)。

x1 = [0, 2, 4, 6, 8, 10]

y1 = [0.2, 0.19, 0.22, 0.18, 0.22, 0.21]

x2 = [0, 0.2, 0.5, 1, 1.5, 2, 2.7, 3.5, 6, 10]

y2 = [5, 4.9, 4.9, 4.9, 5.2, 4, 4.6, 4, 4.3, 3.9] 

したがって、上記の配列について次の 3 つのことがわかります。

  1. x1 と y1 には 6 つの値がありますが、x2 と y2 には 10 の値があります (正確な数は関係ありません。重要なのは x2 と y2 が x1 と y1 よりも多くの値を持つことだけです)。

  2. x1 は等間隔ですが、x2 はそうではありません。

  3. x 配列は同じ値で開始および終了します。

x2 のすべての値で y1 の外挿値を使用して新しい配列を作成するにはどうすればよいですか?

y1 には、新しい配列に含まれない可能性のある値があることに注意することも重要です。たとえば、上記の例では、y1[4] は x2 の値に該当しないため、必要ありません。

また、y2 はこの特定の問題とは何の関係もないことに注意してください。全体的な理解のために提供しただけです。

ここで同様の問題に対してJblascoが開発したアプローチを使用してみました:要素間の最大差を最小限に抑えるためにpython配列を補間しますが、私の問題はそのリンクで提起されたものとは多少異なります。

4

1 に答える 1

0

これは単純な内挿/外挿の問題のようです。

import numpy as np

#here y2 is the new extrapolated array
y2 = np.interp(x2,x1,y1)
于 2014-04-21T01:36:03.500 に答える