poster
2019-11-30, 11:20
在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 还有其他一些类似的问题,但是它们处理的是二维矩阵,因此无法扩展到更高的维度。任何建议将不胜感激!
更多&回答... (https://stackoverflow.com/q/59112843)
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 还有其他一些类似的问题,但是它们处理的是二维矩阵,因此无法扩展到更高的维度。任何建议将不胜感激!
更多&回答... (https://stackoverflow.com/q/59112843)