matlab如何编程从以下数据找出两组数据,其中每一行为一组数据,要求:两组数据的数字不能有重复。

只要符合要求的两组数据就一起输出来。

A=[3 4 5;
3 4 6;
3 4 7;
3 4 8
3 4 9;
3 4 10;
3 4 11;
3 4 12;
3 5 6;
3 5 7;
3 5 8;
3 5 9;
3 5 10;
3 5 11;
3 6 7;
3 6 8;
3 6 9;
3 6 10;
3 7 8;
3 7 9;
4 5 6;
4 5 7;
4 5 8;
4 5 9;
4 5 10;
4 6 7;
4 6 8;
4 6 9;
4 7 8;
5 6 7];
A=[3 4 5;
3 4 6;
3 4 7;
3 4 8;
3 4 9;
3 4 10;
3 4 11;
3 4 12;
3 5 6;
3 5 7;
3 5 8;
3 5 9;
3 5 10;
3 5 11;
3 6 7;
3 6 8;
3 6 9;
3 6 10;
3 7 8;
3 7 9;
4 5 6;
4 5 7;
4 5 8;
4 5 9;
4 5 10;
4 6 7;
4 6 8;
4 6 9;
4 7 8;
5 6 7;
5 6 8;
];
syms s
n=1:3;
for i=2:31
j=i-1;
b=A(j,n);
c=A(i,n);

if c(1,1)~=b(1,1)&&c(1,1)~=b(1,2)&&c(1,1)~=b(1,3)&&c(1,2)~=b(1,1)&&c(1,2)~=b(1,2)&&c(1,2)~=b(1,3)&&c(1,3)~=b(1,1)&&c(1,3)~=b(1,2)&&c(1,3)~=b(1,3)
s=[c;b];

end}
end

N = length(A(:,1)); % 得到行数
M = length(A(1,:)); % 得到列数
B = []; % 结果保存
B = A(1,:); % 先保存第一行
for ii = 2:N
a = A(ii, :);
canbeuse = 1; %是否可以加入B标志
for jj = 1:M
pos = find(B- a(jj)==0);
if isempty(pos)==0
canbeuse = 0;
end
end
if canbeuse == 1
B = [B; a];
end
end
B追问

还是不对呀,输出是3,4,5.
大神教教我吧,在弄数学建模。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-05-09
能再详细一点吗?找什么样的数据啊。追问

比如说 拿出一组数 3,4,5;和其他行相比较比如3,4,6,因为这两组数据有两个数相等,那就不符合要求,只要有一个数据相等,那就不符合要求。比如3,4,7和5,6,8这两组数据符合要求。然后把这两组数据输出放在一个3乘2的矩阵里.我想要把A矩阵符合这种要求的都输出来。

相似回答
大家正在搜