求大神解答一个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个 配对,其中有两个向量不能配对,我要实现这种算法,可是运行结果一直出错。求大神帮忙,谢谢
展开
 我来答
tianxiawulang
2013-09-14 · TA获得超过2.7万个赞
知道大有可为答主
回答量:4732
采纳率:89%
帮助的人:2562万
展开全部

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是一个矩阵呢,应该怎么弄
追答
如果是矩阵,你总应该说明矩阵是什么样的吧?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式