我想为给定数组的每个值(名为wl
)计算函数的离散点。到目前为止,我有:
from pylab import *
import numpy
#wl is a defined list
a=1
b=3934.3
c=0.2885
for x in (wl):
G[x]=a*exp(-(wl(x)-b)^2/c^2)
但我收到错误TypeError: 'numpy.ndarray' object is not callable
。我需要的是名为G
的第二个列表,其值对应于列表wl
中每个值的已计算函数。
这个错误是什么意思?我应该以某种方式定义G
吗?
感谢。
答案 0 :(得分:1)
G=numpy.exp(-(wl-b)**2/c**2)*a
我认为可以工作......因为你可以经常放入整个numpy数组,就像它们是单个值并获得一个新的计算值数组
(已将^
更改为**
,因为我认为您希望功能不是按位异或(XOR)
你可以看到这样的行为
t1 = numpy.array([1,2,3])
print t1 - 1
print t1 * 2
print t1 ^ 2
print (t1^2)*2
答案 1 :(得分:0)
如果wl
是一个列表(或numpy.ndarray
),则您无法wl(x)
。
您可能需要x
代替wl(x)
中的a*exp(-( wl(x)-b )^2 / c^2)