- 积分
- 0
- 注册时间
- 2006-12-2
- 仿真币
-
- 最后登录
- 1970-1-1
|
本帖最后由 renfeifan2008 于 2009-5-21 03:43 编辑
A =
1 1 2 3 4
2 4 5 6 7
3 3 4 1 2
4 7 8 9 10
如上,A(1,2:5) 与A(3,2:5) 元素相同,但是顺序不同。有没有好的办法能够删除第三行,且第四排的4变为第三排的3。得到
B =
1 1 2 3 4
2 4 5 6 7
3 7 8 9 10
当然我只写了一部分。矩阵行数很多,且每一行后面四个元素重复的次数均为2次。
我编写了一个程序,但是运算起来较慢,如下,有没有简单点儿的程序,还望指教。
clear;
clc;
A=[1 1 2 3 4; 2 4 5 6 7; 3 3 4 1 2; 4 7 8 9 10];
B=[];
n=2;
for i=2:size(A,1)
for j=1:i-1
if ismember(A(i,2:5),A(j,2:5))==[1,1,1,1];
n=n-1;
break;
else
B(n, : )=[A(1,1)+n-1,A(i, 2:5)];
end
end
n=n+1
end
B(1, ; )=A(1, : ); |
|