求大神解答一个matlab中的for循环嵌套if选择语句
fori=1:19forj=20:38ifA(i)==A(j)dispA(i)=A(j)elsecontinueendend该语句实现功能是验证38个矩阵是否两两相等我知...
for i=1:19
for j=20:38
if A(i)==A(j)
disp A(i)=A(j)
else continue
end
end
该语句实现功能是 验证38个矩阵是否两两相等 我知道答案只有18个 配对,其中有两个向量不能配对,我要实现这种算法,可是运行结果一直出错。求大神帮忙,谢谢 展开
for j=20:38
if A(i)==A(j)
disp A(i)=A(j)
else continue
end
end
该语句实现功能是 验证38个矩阵是否两两相等 我知道答案只有18个 配对,其中有两个向量不能配对,我要实现这种算法,可是运行结果一直出错。求大神帮忙,谢谢 展开
1个回答
展开全部
1、最后缺少一个end;
2、这句输出没什么意义:disp A(i)=A(j);
3、这句完全多余:else continue
给你写了一段代码供参考:
% 生成测试数据
A = [randperm(19) randperm(19)+1]
c = 0; % 计数器
for i=1:19
for j=20:38
if A(i)==A(j)
c = c + 1;
fprintf('%2i: A(%i)=A(%i)\n',c,i,j)
end
end
end
输出(由于数据随机生成,每次运行得到的结果不同):
A =
Columns 1 through 10
10 4 17 15 14 3 2 11 1 8
Columns 11 through 20
9 5 6 12 7 18 16 13 19 19
Columns 21 through 30
4 5 18 10 9 7 2 3 14 13
Columns 31 through 38
15 16 12 20 17 6 8 11
1: A(1)=A(24)
2: A(2)=A(21)
3: A(3)=A(35)
4: A(4)=A(31)
5: A(5)=A(29)
6: A(6)=A(28)
7: A(7)=A(27)
8: A(8)=A(38)
9: A(10)=A(37)
10: A(11)=A(25)
11: A(12)=A(22)
12: A(13)=A(36)
13: A(14)=A(33)
14: A(15)=A(26)
15: A(16)=A(23)
16: A(17)=A(32)
17: A(18)=A(30)
18: A(19)=A(20)
更多追问追答
追问
亲~谢谢你的回答,如果A是一个矩阵呢,应该怎么弄
追答
如果是矩阵,你总应该说明矩阵是什么样的吧?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询