使用 matlab 将两个双数组连接成一个 n x 1 元胞数组

Concatenate two double arrays into a n x 1 cell array using matlab

我有一个 n x 1 双数组。

A = [1234;
     1235;
     1236;
     1237;
     1238];

和一个双标量。

B = [4567]

我想组合(连接)这些以制作一个 n x 1 元胞数组,如下所示,

C = [1234 4567;
     1235 4567;
     1236 4567;
     1237 4567;
     1238 4567];

试试这个单行:

out = mat2cell([A,repmat(B,numel(A),1)],ones(numel(A),1),2)

样本运行:

A = [1234; 1235; 1236; 1237; 1238];
B = [4567];

结果:

out = 

[1x2 double]
[1x2 double]
[1x2 double]
[1x2 double]
[1x2 double]

如果你想要 1xn 个单元格,你可以转置输出

out = out.'      %//'

out = 

[1x2 double]    [1x2 double]    [1x2 double]    [1x2 double]    [1x2 double]