登录论坛

查看完整版本 : [求助]删除矩阵中相同的行


rain1206
2009-03-27, 16:05
a=[1 0;1 0;1 0;2 1;1 2;1 2; 3 1;2 1;2 1]
[m,n]=size(a);
for i=1:m-1
if a(i+1,:)==a(i,:)
a(i+1,:)=[];
m=m-1;
end
end
a

??? Index exceeds matrix dimensions.

程序有错,望高手给改正一下,Thanks!

zhyanchao
2009-03-27, 17:36
直接用unique(a,'rows')即可

laosam280
2009-03-27, 23:43
a=[1 0;1 0;1 0;2 1;1 2;1 2; 3 1;2 1;2 1];
[m,n]=size(a);
b=[m,n];
for i=1:1:8
if (a(i+1,1)==a(i,1))&&(a(i+1,2)==a(i,2))
a(i,:)=8;
end
end
a
然后找到这样的数字8的坐标,删除就可以了。因为都是循环,我就不写了