我正在尝试使用Scipy模块在Python中绘制图表。根据{{3}},我用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工作?
答案 0 :(得分:3)
scipy.special.spherical_jn
在scipy版本0.18.0中添加,该版本于2016年7月25日发布。我的猜测是你使用的是旧版本的scipy。要检查,请运行
import scipy
print(scipy.__version__)