我目前需要从表中取四列并将其存储在1xheight(table)
单元格数组中,每个单元格的2x1
单元数组为1x2
数组。
目前我有代码段
result=mat2cell(num2cell(reshape(table2array(tab)',2,[])',2),2*ones(1,height(tab)),1)
我的表名为tab。我觉得这不是最好的做法,为了学习和代码优化,我很乐意看到这个社区是否可以帮助我改进它。
我需要这种奇怪的数据结构的原因是我可以在表单上有效地创建一个struct-array
st=struct(...,'LIMITS',result,...);
所以这基本上就是我想做的事情:
tab=array2table(reshape(1:20,4,5)')
tab =
Var1 Var2 Var3 Var4
____ ____ ____ ____
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
17 18 19 20
result=mat2cell(num2cell(reshape(table2array(tab)',2,[])',2),2*ones(1,height(tab)),1);
celldisp(result)
result{1}{1} =
1 2
result{1}{2} =
3 4
result{2}{1} =
5 6
result{2}{2} =
7 8
result{3}{1} =
9 10
result{3}{2} =
11 12
result{4}{1} =
13 14
result{4}{2} =
15 16
result{5}{1} =
17 18
result{5}{2} =
19 20