是否有将两个单元阵列“压缩”在一起的功能?

时间:2013-11-07 17:31:52

标签: arrays matlab

假设我有一个单元格数组AB,如下所示:

A = {'A' 'B' 'C' 'D'};
B = {1 2 3 4 };

我想通过“压缩”A和B来创建单元格数组C,如下所示:

C = zip(A,B)
C = 
    'A' 1 'B' 2 'C' 3 'D' 4

这样的功能存在吗? (显然这样的功能并不难写,但是懒惰是程序员最好的朋友,如果这样的功能已经存在,我宁愿使用它。)

(我从Perl那里得到了这个想法,其中List::MoreUtils包提供了执行此操作的zip函数。该名称来自zip函数交错两个列表的事实,如拉链。)

1 个答案:

答案 0 :(得分:11)

这个怎么样:

C = [A(:),B(:)].';   %'
D = C(:)

返回:

D = 

'A'
[1]
'B'
[2]
'C'
[3]
'D'
[4]