2017-06-16 118 views
-1

我有一个m * n * k的矩阵叫做M,我想索引它来获得某些数据的平均值。使用2d矩阵加矢量对3D矩阵进行索引

我有一个叫做EZG的逻辑m * n矩阵,并且希望将它应用于1:(end-1)(称为该向量V)的每个第k维上。

任何机会,把它写没有这样一个循环:

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) 

结果应该是五 长度的一维向量谢谢

+0

我不明白你想要什么。你可以给一个数字例证吗? –

+0

我做了一个例子。 – Squeezie

+0

不,你没有。我的意思是用_specific values_指定输入_和输出_。顺便说一句,我低估了,因为这使得我的意见质量低下(因为我不明白到底是什么被问)。如果你编辑我会愉快地删除我的downvote –

回答

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));