2016-08-02 8 views
1

私は、2次元numpy配列を補間して同時に任意の長さに拡張する方法を探しています。例えば、私の配列は、関数を呼び出した後Matplotlib配列を任意の長さに補間する

array = [0,0,0] 
     [1,1,1] 
     [2,2,2] 

をであると言う、私は長さ5の配列をしたいと言う:

new_array = [0, 0, 0] 
      [0.5, 0.5, 0.5]    
      [1, 1, 1] 
      [1.5, 1.5, 1.5] 
      [2, 2, 2] 

理想的には、これは新しい長さに、任意の長さの任意の配列で動作します。たとえば、配列の長さが1000ポイントで、1500ポイントが必要でした。 ScipyやNumpyでこれを簡単かつ簡単に行う方法はありますか?私はscipy.interpolateモジュールを見てきましたが、これをどのように達成できるか見ることができませんでした。どんな方向であれ非常に役に立ちます。

ありがとうございました。

答えて

0

あなたは試すことができます:

from scipy import interpolate 

n = 5 
np.column_stack([interpolate.interp1d(c,c)(np.linspace(c[:1,], c[-1:], n)) for c in arr.T]) 

Out[45]: 
array([[ 0. , 0. , 0. ], 
     [ 0.5, 0.5, 0.5], 
     [ 1. , 1. , 1. ], 
     [ 1.5, 1.5, 1.5], 
     [ 2. , 2. , 2. ]]) 
関連する問題