我有一个名为M的m * n * k矩阵,我想索引它以获得某些数据的平均值。
我有一个名为EZG的逻辑m * n矩阵,并希望在1:(end-1)的每个第k维上应用它(调用此向量V)。
没有像这样的循环写任何机会:
M=rand(3,3,3)
EZG=logical([1,1,1;0,1,0;0,0,1])
V=1:size(M,3)-1
mean(mean(M(EZG,V)1),2)
结果应该是长度为V的一维向量。 谢谢
答案 0 :(得分:0)
我认为这就是你想要的:
M=rand(3,3,3);
EZG=logical([1,1,1;0,1,0;0,0,1]);
% repeat EZG K-1 times, and add zeros to the Kth slice
V=cat(3,repmat(EZG,1,1,size(M,3)-1),false(size(M,1),size(M,2)));
% logical index and mean
m=mean(M(V));