2017-02-06 6 views

答えて

1

あなたが探している機能はnが大きい場合、私はあなたの代わりに、ネストされたループを使用することをお勧め

numpy.vander

1

rules of broadcastingに続いて、我々は2Dに拡張することができ、その後昇給があった配列でに電力を供給するために -

サンプル実行
X[:,None]**np.arange(3) # Or np.power(X[:,None], np.arange(3)) 

からXもし

In [7]: X = np.array([1,2,3]) 

In [8]: X[:,None]**np.arange(3) 
Out[8]: 
array([[1, 1, 1], 
     [1, 2, 4], 
     [1, 3, 9]]) 

が既に拡張されて、ちょうど力に上げる -

In [24]: X = np.array([[1],[2],[3]]) 

In [25]: X**np.arange(3) 
Out[25]: 
array([[1, 1, 1], 
     [1, 2, 4], 
     [1, 3, 9]]) 
1

特定の機能はありませんが、配列放送を使うことができます。

X = np.array([[1],[2],[3]]) 
p = np.arange(0, 2+1) # powers 
X**p # row vs column vector broadcasts to 2D matrix 
0

です。計算力は高価です。次のような操作を行います。

arr = [1] 
for i in range(1, p + 1): 
    arr.append(p * arr[-1]) 
関連する問題