如果你能帮我连接两个不同大小的单元阵列,我们将不胜感激。例如,考虑单元格数组:
a={'p' 'e' 't' 'k'; 2 3 4 6; 3 5 9 8; 5 4 1 0; 8 9 6 5};
b={'a' 'v'; 1 2; 3 4; 0 5; 6 8};
数组b
可能具有不同的大小,具体取决于迭代结果。我想组合这些单元格数组,以便最终得到
c={'p' 'e' 't' 'k';2 3 4 6; 3 5 9 8; 5 4 1 0; ...
8 9 6 5;'a' 'v' NaN NaN;1 2 NaN NaN; 3 4 NaN NaN;0 5 NaN NaN; 6 8 NaN NaN};
如果每次运行代码时a
和b
的尺寸不同,我该怎么办呢?
答案 0 :(得分:2)
你首先需要"垫"在较小的单元阵列中,您可以连接两个单元阵列with standard methods。在对您的问题的评论中,您表示要使用NaN
填充矩阵。假设数组b
的宽度小于或等于数组a
的宽度,则可以这样做:
a={'p' 'e' 't' 'k';2 3 4 6; 3 5 9 8; 5 4 1 0;8 9 6 5};
b={'a' 'v' ;1 2; 3 4;0 5; 6 8};
sa = size(a);
sb = size(b);
columns_to_pad = sa(2) - sb(2);
padding = num2cell(NaN*ones(sb(1), columns_to_pad));
b_padded = [b, padding];
c = [a; b_padded];