慕盖茨4494581
根据我对这个问题的理解,问题似乎在于您计算向量范数的方式,而不是减法。使用您的示例,但计算exp(-||x-c||),请尝试:x = np.linspace(8,17,10).reshape((5,2))c = np.linspace(1,6,6).reshape((3,2))sub = np.linalg.norm(x[:,None] - c, axis=-1)np.exp(-sub)array([[ 5.02000299e-05, 8.49325705e-04, 1.43695961e-02], [ 2.96711024e-06, 5.02000299e-05, 8.49325705e-04], [ 1.75373266e-07, 2.96711024e-06, 5.02000299e-05], [ 1.03655678e-08, 1.75373266e-07, 2.96711024e-06], [ 6.12664624e-10, 1.03655678e-08, 1.75373266e-07]])np.exp(-sub).shape(5, 3)numpy.linalg.norm 将尝试在其输入的所有维度上返回某种矩阵范数,除非您明确告诉它哪个轴代表向量分量。