说我有两个矩阵,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
据我了解,一般来说,两个相似矩阵的值应该很小,但我没有得到它,有人可以帮忙吗?有没有办法摆脱迭代的需要?
答案 0 :(得分:1)
这应该这样做:
def mymagn(A, B):
return np.sum((B - A) ** 2)
对于相同大小的数组/矩阵,加法/减法是逐个元素的(如在MATLAB中)。标量指数的指数也是元素方面的。默认情况下,np.sum
将对所有元素(沿所有轴)求和。