Code is provided below but is inefficient. Is there a more elegant way?
Let's say I have 2 3D arrays: matrix1 and matrix2 both of the same dimension e.g. 10x10x3
How could I calculate the element-average between layer1 of matrix1 and matrix2 and do that for all 3 layers so the final outcome is another 10x10x3 matrix avgMat where avgMat(:, :, 1) is the mean of matrix1(:, :, 1) and matrix2(:, :, 1)?
m1 = cat(3,matrix1(:,:,1),matrix2(:,:,1));m1=mean(m1,3);m2 = cat(3,matrix1(:,:,2),matrix2(:,:,2));m2=mean(m2,3);m3 = cat(3,matrix1(:,:,3),matrix2(:,:,3));m3=mean(m3,3);avgMat=cat(3,m1, m2, m3)
Best Answer