Python - 用for评估函数

时间:2014-06-18 21:11:24

标签: python numpy

我想为给定数组的每个值(名为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吗?

感谢。

2 个答案:

答案 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)