Arrays 是否有一个函数来“引用”;zip";两个细胞阵列在一起?
假设我有一个单元格数组Arrays 是否有一个函数来“引用”;zip";两个细胞阵列在一起?,arrays,matlab,Arrays,Matlab,假设我有一个单元格数组a和B,如下所示: 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得到这个想法的,在Perl中,程序包提供了执行此操作的zip函数。其名称来源于zip函
a
和B
,如下所示:
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得到这个想法的,在Perl中,程序包提供了执行此操作的zip
函数。其名称来源于zip
函数将两个列表交织在一起,就像拉链一样。)这样如何:
C = [A(:),B(:)].'; %'
D = C(:)
返回:
D =
'A'
[1]
'B'
[2]
'C'
[3]
'D'
[4]
+1串联和转置是一种方法。那些共轭转置…:-)