如何使用另一个向量表示的矩阵行的并集?

时间:2017-06-29 20:10:15

标签: matlab matrix vector set-union

我想取一个矩阵x的某些行的并集。必须采用联合的行的行号由向量r给出。 MATLAB中是否有内置函数可以做到?

x = [1  2  4  0  0; 
     3  6  5  0  0;
     7  8 10 12  9;
     2  4  6  7  0;
     3  4  5  8 12];

r = [1, 3, 5]; 

2 个答案:

答案 0 :(得分:2)

我认为这对您有用 - 首先,将子矩阵x(r,:)与您想要的行一起使用,然后找到其中的所有唯一值:

unique(x(r,:))

ans =
     0
     1
     2
     3
     4
     5
     7
     8
     9
    10
    12

答案 1 :(得分:1)

你可以这样做

>>> union(union(x(r(1),:),x(r(2),:)),x(r(3),:))

ans =

  0     1     2     3     4     5     7     8     9    10    12

或设置for循环,迭代向量r以计算所有联合