如何获取由另一个向量表示的矩阵行的并集?
How to take union of matrix rows that are represented by another vector?
我想对矩阵的某些行进行并集 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];
你可以这样做
>>> 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
以计算所有并集
我认为这对您有用 - 首先,使用包含您想要的行的子矩阵 x(r,:)
,然后找到其中的所有唯一值:
unique(x(r,:))
ans =
0
1
2
3
4
5
7
8
9
10
12
我想对矩阵的某些行进行并集 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];
你可以这样做
>>> 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
以计算所有并集
我认为这对您有用 - 首先,使用包含您想要的行的子矩阵 x(r,:)
,然后找到其中的所有唯一值:
unique(x(r,:))
ans =
0
1
2
3
4
5
7
8
9
10
12