繁体   English   中英

在 MATLAB 中将单元格数组中的行转换为列

[英]Converting Rows into Columns in a cell array in MATLAB

我有一个 99x1 单元阵列,例如,我想将其转换为 33x3 单元阵列。

我希望 99x1 单元阵列的前 3 行组成 33x3 单元阵列中的第一行,然后 99x1 单元阵列中的第 3 到第 6 行组成 33x3 单元阵列中的第二行。

在数据下降之前,我还需要逐列重塑为 go 的数据。 例如我需要:

1 2 3 4

成为

1、2; 3、4

不是

1、3; 2、4

对此的帮助将不胜感激

您可以简单地使用reshape -function。 由于reshape(yourcell,[],3)将首先填充第一列,然后是第二列,依此类推,而不是逐行填充,因此您需要将其与转置运算符结合使用.'

newcell=reshape(yourcell,3,[]).'

这样,您将首先使用reshape创建一个3x33单元格,然后将其转换为所需的33x3单元格。 []告诉 reshape 根据需要创建尽可能多的列。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM