Cap*_*rog 3 arrays matlab matrix matrix-indexing
我想对不属于某个范围的数组内容执行指标.
例如,我有一个包含1000行和2列的数组.我想对一列中的所有元素(比如列#2)执行mean()计算,这些元素不属于行50-150,250-300,400-700和900-950.
因此,应该基于行1-49,151-249,301-399,701-899和951-1000计算平均值.
任何想法如何去做?
编辑:我应该指出,每次运行程序时,包含的项目都会更改.因此,我不能仅仅对内含物进行硬编码; 他们需要根据排除情况制定出来.
怎么样:
M = rand(1000,2);
idx = setdiff(1:size(M,1), [50:150, 250:300, 400:700, 900:950]);
MM = M(idx,:)
Run Code Online (Sandbox Code Playgroud)
现在将任何函数应用于过滤矩阵:
mean(MM,1)
Run Code Online (Sandbox Code Playgroud)