1

Scipy モジュールを使用して Python でプロットを描画しようとしています。http://docs.scipy.org/doc/scipy/reference/special.htmlによると、次のコードを記述しましたscipy.special.spherical_jn(n,x,0)

import matplotlib.pyplot as plt
import numpy as np
import scipy.special as sp

from matplotlib import rcParams
rcParams.update({'figure.autolayout': True})

def odrazTE(a,o,d):
    temp1 = sp.spherical_jn[1,a,0]
    temp2 = 1
    return abs(temp1/temp2)**2

t = np.arange(0.001, 2, 0.001)
plt.plot(t,odrazTE(t,t,1),label='TE1')
plt.show()

プログラムをコンパイルしている間、私が得るのはこのエラーだけです:

Traceback (most recent call last):
  File "standing-sphere.py", line 33, in <module>
    plt.plot(t,odrazTE(t,t,1),label='TE1')
  File "standing-sphere.py", line 15, in odrazTE
    temp1 = sp.spherical_jn[1,a,0]
AttributeError: 'module' object has no attribute 'spherical_jn'

通常のベッセル関数と、ベッセルと球状ベッセル関数の関係でそれを行う方法はありますが、sph.bess の導関数のために、この解決法は好きではありません。私も必要な機能。

何かを間違って設定した可能性はありますか? scipy.special.spherical_jn の作業に修正できますか?

4

1 に答える 1

3

scipy.special.spherical_jn2016 年 7 月 25 日にリリースされた scipy バージョン 0.18.0 で追加されました。古いバージョンの scipy を使用していると思います。確認するには、実行します

import scipy
print(scipy.__version__)
于 2016-08-08T00:34:16.050 に答える