Python-使用for对函数求值

Python-使用for对函数求值,python,numpy,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'对象是不可调用的。我需要的是第二个名为G的列表,其值对应于列表wl中每个值处的求值函数 这个错误意味着什么?我应该

我想为给定数组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'对象是不可调用的。我需要的是第二个名为G的列表,其值对应于列表wl中每个值处的求值函数

这个错误意味着什么?我应该在之前定义G吗

谢谢。

如果wl是一个列表或numpy.ndarray,则不能执行wlx

在a*exp-wlx-b^2/c^2中,可能需要用x代替wlx

我想会有用的。。。因为您经常可以像放入单个值一样放入整个numpy数组,然后返回一个新的计算值数组

更改为**,因为我认为您需要的是幂而不是按位异或

你可以看到这样的行为

t1 = numpy.array([1,2,3])
print t1 - 1
print t1 * 2
print t1 ^ 2
print (t1^2)*2

它实际上并不是一个列表。这就是你的问题:wlx你的意图是什么?请提供整个回溯,而不仅仅是错误。你说wl是一个列表,但你调用它就像调用一个函数一样。这就是错误所说的。也许你想的太复杂了,只是指:G=a*exp-wl-b^2/c^2?如果wl是一个numpy数组,那么它将给出高斯函数。不需要任何环。谢谢,我不知道它们可以这样对待。但是,我发现与另一个函数相关的一个错误:TypeError:ufunc'bitwise\u xor'不支持输入类型。^如果您想使用power,xor不是power**因为您的列表是浮点数,它不知道如何对a或类似的值进行xor至少。。。
t1 = numpy.array([1,2,3])
print t1 - 1
print t1 * 2
print t1 ^ 2
print (t1^2)*2