你能用numpy来计算差异的大小吗?

时间:2017-10-01 19:28:58

标签: python numpy matrix

说我有两个矩阵,A和B.

I want to calculate the magnitude of difference between the two matrices.也就是说,不使用迭代。

这是我到目前为止所拥有的:

def mymagn(A, B):
    i = 0
    j = 0
    x = np.shape(A)
    y = np.shape(B)
    while i < x[1]:
        while j < y[1]:
            np.sum((A[i][j] - B[i][j]) * (A[i][j] - B[i][j]))
            j += 1
        i += 1

据我了解,一般来说,两个相似矩阵的值应该很小,但我没有得到它,有人可以帮忙吗?有没有办法摆脱迭代的需要?

1 个答案:

答案 0 :(得分:1)

这应该这样做:

def mymagn(A, B):
    return np.sum((B - A) ** 2)

对于相同大小的数组/矩阵,加法/减法是逐个元素的(如在MATLAB中)。标量指数的指数也是元素方面的。默认情况下,np.sum将对所有元素(沿所有轴)求和。