午後の皆さん。現在、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 関数の一部の機能が不足していますか?
どんな考えでも大歓迎です。乾杯。