【问题标题】:How to concatenate a row vector with itself in MATLAB?如何在MATLAB中将行向量与其自身连接?
【发布时间】:2017-05-30 16:16:10
【问题描述】:

我有一个大小为 的行向量,我想将它与自身组合得到结果 。例如:

cellint = {'gene1','gene2','gene3','gene4'};

cellout = {'gene1','gene2','gene3','gene4','gene1','gene2','gene3','gene4'};

我试过horzcat如下,但没有给出正确的结果:

SS = [cellint;cellint];

【问题讨论】:

  • [cellint; cellint] 为我工作。还有vertcat(cellint, cellint)repmat(cellint,2,1)。您的文本说的是行向量,但您的示例变量和所需结果是列向量
  • @Luis Mendo 朋友很抱歉,这是一个行向量,我已经编辑了格式。
  • cellout = [cellint cellint];

标签: matlab concatenation


【解决方案1】:

Horizontal concatenation(即沿第二(列)维度连接)在方括号内使用空格或逗号:

cellout = [cellint cellint];          % or ...
cellout = [cellint, cellint];         % or ...

% Functional equivalents:
cellout = horzcat(cellint, cellint);  % or ...
cellout = cat(2, cellint, cellint);

Vertical concatenation(即沿第一(行)维度连接)在方括号内使用分号:

cellout = [cellint; cellint];         % or ...

% Functional equivalents:
cellout = vertcat(cellint, cellint);  % or ...
cellout = cat(1, cellint, cellint);

对于沿任意维度的连接(如上面每个示例的最后一行所示),请使用函数cat

cellout = cat(3, cellint, cellint);  % Would concatenate along the third dimension

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-08
    • 2023-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多