在MATLAB中删除多维数组中一组索引处的元素?

时间:2014-05-07 02:46:03

标签: matlab

我有一个包含1000个元素(1000x3)的多维数组A。我有另一个向量,其中包含要从此数组中删除的元素的索引位置。

我已尝试使用此A(indices) = []A(indices,:,:) = [],但问题是结果会更改A的维度,因此如果indices有10个元素,那么我查找A的尺寸变为2990x1而不是990x3。任何人都可以建议如何删除indices A A n x 3 {{1}}中{{1}}的尺寸不会改变的元素仍为{{1}}?

1 个答案:

答案 0 :(得分:2)

您可以使用logical indexing过滤矩阵,例如

A=rand(1000,3);
A(A(:,1)>0.9)=[];

删除第一列中值大于A的{​​{1}}行。

我不确定为什么你的原始方法不起作用。