繁体   English   中英

级联细胞

[英]Concatenate cells

我有两个牢房

A =
 [100x2 double]    [80x2 double]    [50x2 double]
B =
 [100x5 double]    [80x5 double]    [50x5 double]

我如何将它们连接起来以获得每个数组类似C = cat(2,A,B)的东西。 C一定是

C =
 [100x7 double]    [80x7 double]    [50x7 double]

谢谢,

C = cellfun(@(a, b) [a b], A, B, 'UniformOutput', false);

这将为您创建单元阵列C。

例:

>> A = { zeros(100,2), zeros(200,2) };
>> B = { ones(100,5), ones(200,5)};
>> C = cellfun(@(a, b) [a b], A, B, 'UniformOutput', false);

您可能需要某种循环:

C = arrayfun(@(n) [A{:,n} B{:,n}], 1:numel(A), 'uniformoutput', 0);

当然,如果A (和B )中的单元格数目是固定的,则可以用枚举代替循环:

C = {[A{:,1} B{:,1}] [A{:,2} B{:,2}] [A{:,3} B{:,3}]};

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM