标签: matlab multidimensional-array cell-array
我将一个结构 S (包含13个字段和96行,一些字段由数字组成,其他字符串组成)转换为单元格数组:
myCell= struct2cell(S);
所以,我获得了一个3d单元格数组 myCell 13x1x96,我想在一个2d单元格数组96x13中进行转换。欢迎任何建议!
答案 0 :(得分:1)
比建议的更通用的解决方案将采用permute函数:
permute
B = permute(A,order)重新排列A的维度,使其符合向量order指定的顺序。 ... permute和ipermute是多维数组的转置(.')的推广。
B = permute(A,order)重新排列A的维度,使其符合向量order指定的顺序。
B = permute(A,order)
A
order
...
permute和ipermute是多维数组的转置(.')的推广。
ipermute
.'
在您的情况下,运行new_Cell = permute(myCell,[3,1,2])命令会生成13x1x96 96x13。如您所见,permute删除了尾随的单例维度(类似于squeeze)。
new_Cell = permute(myCell,[3,1,2])
13x1x96
96x13
squeeze
(在MATLAB 2015b上测试)