为了账号安全,请及时绑定邮箱和手机立即绑定

Python 函数适用于标量,但不适用于向量

Python 函数适用于标量,但不适用于向量

白衣染霜花 2023-08-03 17:17:22
我是 python 新手,并且有一些 matlab 背景。我正在尝试为高斯核编写一个均值为 0 的函数。这是我的代码:import numpy as npimport mathdef 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任何帮助将不胜感激。
查看完整描述

1 回答

?
蓝山帝景

TA贡献1843条经验 获得超7个赞

math.exp是一个Python函数,不接受向量作为输入。替换它np.exp,一切都会按预期工作。

另外,您可能需要替换math.pinp.pi以摆脱一次导入。


查看完整回答
反对 回复 2023-08-03
  • 1 回答
  • 0 关注
  • 91 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信