[英]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.