我生成的对如下所示:
vec1 = ('A':'C');
vec2 = ('A':'C');
[p,q] = meshgrid(vec1, vec2);
out = [p(:) q(:)]
该对在许多行中如下所示:
pairs =
AA
AB
AC
BA
BB
BC
CA
CB
CC
我如何获得像这样排成1行的对:
pairs = AAABACBABBBCCACBCC
TUT(转置,展开,转置):
>> out = out.';
>> pairs = out(:).'
pairs =
AAABACBABBBCCACBCC
上面的工作方式是(:)
在MATLAB中展开某些内容或使用,将N维数组转换为单个向量。这是以列优先格式完成的,因此矩阵的列彼此堆叠以形成单个向量。但是,您希望将所有行堆叠在一起成为单行。为此,我们可以先对矩阵进行转置,使行成为列,然后在转置上展开,以使列彼此堆叠。这是您想要的结果,但是它只是一列,因此您需要对结果进行转置以获得所需的结果。
另外,您可以reshape
在转置上使用,并确保输出得到一行:
>> pairs = reshape(out.', 1, [])
pairs =
AAABACBABBBCCACBCC
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句