有效删除矩阵元素

时间:2011-03-09 16:32:07

标签: matlab

我想从维度2 * n的矩阵的开头有效地删除大量数据。矩阵看起来像这样:

x1 x2
x3 x4
...
...

我想删除行中第一个元素小于某个数字的行,并在行不小时停止(元素按数字顺序排列)

我现在做的很慢:

while 1 
   if list{i}(1) <= someNumber
      list{i}(1,:) = []
   else
      break;
   end
end

在MATLAB中必须有一种巧妙的方法吗?

谢谢。

1 个答案:

答案 0 :(得分:2)

一种方法是一次比较整个第一列然后删除,即

rows2delete = list{i}(:,1) <= someNumber; %# creates logical array with 1 for deletion
list{i}(rows2delete,:) = []; %# delete some rows, all corresponding cols