我如何以向量化方式对矩阵中的每个第n个元素求平均?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我如何以向量化方式对矩阵中的每个第n个元素求平均?相关的知识,希望对你有一定的参考价值。
[在Matlab中,我有一个64x64x256x256的矩阵A。我想对最后2个维度的每第4个元素求平均值,以获得64 ^ 4的矩阵。以前,我使用2 for循环完成此操作,但是它非常慢,我想加快速度。
for n2 = 1:pts
tmp_Matrix(:,:,:,n2) = sum(Matrix_A(:,:,:,(1+numAvg*(n2-1):n2*numAvg)),4)/numAvg;
end
for n1 = 1:pts
Final_Matrix(:,:,n1,:) = sum(tmp_Matrix(:,:,(1+numAvg*(n1-1):n1*numAvg),:),3)/numAvg;
end
还有其他一些类似的问题,但是它们处理的是二维矩阵,因此无法扩展到更高的维度。任何建议将不胜感激!
答案
您可以使用movmean
:
movmean
以上是关于我如何以向量化方式对矩阵中的每个第n个元素求平均?的主要内容,如果未能解决你的问题,请参考以下文章