我有一个大小为 m × n × p × q
的 4D 矩阵 A
。考虑 B = A(:,:,1,1)
,它是一个 m × n
矩阵。我想将 B
的所有元素相加得出一个数字。我想对所有 A
的所有此类 B
矩阵执行此操作,所以最后我将得到一个 p
by q
矩阵。
如何在没有 for 循环的情况下做到这一点?
作为 3D 矩阵的示例(例如 A
是一个 3D 矩阵),我认为这是可行的,
sum(squeeze(sum(A,1)),1)
但我不知道如何对 4D 矩阵执行此操作...
最佳答案
出了什么问题
[m n p q] = size( A );
squeeze( sum( reshape( A, [], p, q ), 1 ) )
或者,
squeeze( sum( sum( A, 2 ), 1 ) )
关于matlab - 在matlab中不使用for循环对4D矩阵求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24508751/