2017-06-16 180 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));