2012-04-05 21 views

答えて

3

おそらくこのような何か:

y = numpy.ones((10, 20)) 
y[0:5] = 2 
psum = y[0:3].sum(axis=0) 

シンプルな例:

y = numpy.array([2, 6, 7, 3, 4]) 
print y[1:4].sum() 

プリント16、真ん中の3つの要素の合計。

+0

正確ではありません。 Matlabプログラムは少なくとも6つすべてを返します(少なくともOctaveで)。 –

+0

@larsmans:MatlabとNumPyのインデックスの順序については、何かが異なります。私は、配列スライスをどのように合計するかを明確にする簡単な例を追加しました。 –

+0

@Bago:私はそれを理解しましたが、MatlabとNumPyの違いとは無関係に、別のやり方でそれを混乱させました。本質的に今修正されるべきである。 –

3

これはトリックを行う必要があります。

>>> y = np.ones((10, 20)) 
>>> y[0:5, :] = 2 
>>> psum = y[0:3, 0:10].sum(axis=0) 

注意をPythonで、インデックスがあることをゼロベースおよびエンドインデックスは非含まれています。

関連する問題