求大神解答一个matlab中的for循环嵌套if选择语句

2025-02-27 07:22:38
推荐回答(1个)
回答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)