如何从两个独立的表格中生成一个单元格阵列?
我有一个来自Excel的数据集,包括 数字 这看起来像这样。
A1 A3 A5 A7 A9
A2 A4 A6 A8 A0
和
B1 B3 B5 B7 B9
B2 B4 B6 B8 B0
其中A7或B0只是数字的替身。
我可以将它们作为单独的 "表 "变量导入表格,但最终我想创建一个单元格数组,就像这样。
[A1,B1] [A3,B3] [A5,B5] [A7,B7] [A9,B9]
[A2,B2] [A4,B4] [A6,B6] [A8,B8] [A0,B0]
我该怎么做才好呢 谢谢
你可以将表格转换为数组,然后用以下方法将它们压缩在一起 arrayfun
:
% Here's your example tables:
a = reshape(1:10, [2 5]);
b = reshape(11:20, [2 5]);
ta = array2table(a);
tb = array2table(b);
% Convert them to arrays:
a1 = table2array(ta);
b1 = table2array(tb);
% Zip them together with arrayfun:
c = arrayfun(@(x,y) {[x,y]}, a1, b1)
或者更简洁的说,跳过table2array这一步。
c = arrayfun(@(x,y) {[x,y]}, ta.Variables, tb.Variables);
结果:
>> c = arrayfun(@(x,y) {[x,y]}, a1, b1)
c =
2×5 cell array
{1×2 double} {1×2 double} {1×2 double} {1×2 double} {1×2 double}
{1×2 double} {1×2 double} {1×2 double} {1×2 double} {1×2 double}