1

午後の皆さん。現在、IDL コードを Python に移植していますが、これまでのところ順調に進んでいます。IDLコードのこのセクションで立ち往生しています:

nsteps = 266    
ind2 = ((lindgen(nsteps+1,nsteps+1)) mod (nsteps+1))
dk2 = (k2arr((ind2+1) < nsteps) - k2arr(ind2-1) > 0)) / 2.

これの私のバージョンには、次のように書き直された lindgen 関数が含まれています。

def pylindgen(shape):
    nelem = numpy.prod(numpy.array(shape))
    out = numpy.arange(nelem,dtype=int)
    return numpy.reshape(out,shape)

...そして、k2arr が形状 (267,) の配列である移植コード:

ind2 = pylindgen((nsteps+1,nsteps+1)) % (nsteps+1)
dk2 = (k2arr[ (ind2+1) < nsteps ] - k2arr[ (ind2-1) > 0. ]) / 2.

さて、問題は、私のコードが ind2 を配列にすることです.IDLコードとpythonスクリプトでスローされたエラーを見ると、それがスカラーであることを確信しています. これらの IDL 関数の一部の機能が不足していますか?

どんな考えでも大歓迎です。乾杯。

4

2 に答える 2