几个向量的并集

  • 本文关键字:向量 几个 matlab set
  • 更新时间 :
  • 英文 :


我有三个向量,v1, v2v3,每个向量有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

最新更新