前两天在百度知道上看到有种方法非常厉害,这里简单总结一下。假设我们有这样的需求,给定一个矩阵A,要求删除其中第2列在0到5之间的所有行,最方便的操作应该怎么写呢?百度知道里的答案是:
id=A(:,2)>0 & A(:,2)<5;
A(id,:)=[];
非常简洁有木有?如果我要删除第2列为0的所有行,那么这样写是有问题的:
id=A(:,2)=0;
A(id,:)=[];
原因也很简单,那解决方法也非常简单:
id=A(:,2)<=0 & A(:,2)>=0;
A(id,:)=[];
这样就可以了,感觉挺有意思的,所以记一下。