我有三个向量,v1
, v2
和v3
,每个向量有500个值。的三个向量的值可能相同,也可能不相同。我想知道是怎么回事得到这三个向量的并集。如果它们有相同的值,该值只能在联合集中显示一次。
您可以通过调用union
来实现:
% Create random example data
rng(1);
v1 = randi(1000,[1 500]);
v2 = randi(1000,[1 500]);
v3 = randi(1000,[1 500]);
v_union = union([v1(:);v2(:)],v3)
您可以将unique
应用于所有向量的连接(cat
)。这允许任意数量的向量,使用从包含所有向量的单元格数组生成的逗号分隔列表。所有向量都假定具有相同的已知方向(它们都是行向量,或者都是列向量)。
vectors = {[1 4 3 2], [4 5 6], [5 1 8], [4 8]}; %// row vectors
result = unique(cat(2, vectors{:})); %// change "2" to "1" for column vectors