使用2d矩阵加矢量对3D矩阵进行索引
问题描述:
我有一个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)
结果应该是五 长度的一维向量谢谢
答
我想这是你想要什么:
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));
我不明白你想要什么。你可以给一个数字例证吗? –
我做了一个例子。 – Squeezie
不,你没有。我的意思是用_specific values_指定输入_和输出_。顺便说一句,我低估了,因为这使得我的意见质量低下(因为我不明白到底是什么被问)。如果你编辑我会愉快地删除我的downvote –