“平坦化”具有L2范数缩减的3D矩阵

时间:2015-09-27 10:21:56

标签: matlab matrix vectorization

我有一个n x m x d矩阵A(即A就像d n x m矩阵一样。我想将此转换为一个n x m矩阵B,其中每个元素B(i,j)都是A(i,j,1), ..., A(i,j,d)的函数,更具体地说是这些值的L2范数:

B(i,j) = sqrt[A(i,j,1)^2 + ... + A(i,j,d)^2]

意思是我想在矩阵A中缩小或“压扁”信息。如何在不诉诸嵌套for循环的情况下实现这一目标?

1 个答案:

答案 0 :(得分:3)

对第三维进行元素平方和求和以产生N x M矩阵,然后对矢量化实现应用平方根,如此 -

B = sqrt(sum(A.^2,3))