我是 python 新手,并且有一些 matlab 背景。我正在尝试为高斯核编写一个均值为 0 的函数。这是我的代码:
import numpy as np
import math
def GaussainKernel(x,sigma):
xx = np.array(x)
return 1/(np.sqrt(2*math.pi*sigma**2))*math.exp(-(xx*xx)/(2*sigma**2))
如果传递 sigma 和 x 的标量,则此方法有效,例如:
GaussainKernel(1, 1)
给了我答案:
0.24197072451914337
现在,如果我想传递 x 的向量,例如:
x = np.array([0,1,2])
GaussainKernel(x, 1)
我收到以下错误:
TypeError: only size-1 arrays can be converted to Python scalars
这必须是由于术语x*x或x**2
任何帮助将不胜感激。
蓝山帝景
相关分类